Sqoop的主要功能:
1.从源端抽取数据导入到目标端
2.从源端导出数据到目标端
抽取的主要数据源:
1.Oracle数据库
2.Mysql数据库
3.Doris数据库
Sqoop的主要命令以及功能:
1.全量抽取
2.增量抽取
3.覆盖数据
常用命令:
比如:
sqoop import "-Dorg.apache.sqoop.splitter.allow_text_splitter=true" \
--hive-import \
--connect jdbc:oracle:thin:@XXXX:1521:ORACLE_DB \
--username XXX\
--password XXXX \
--hive-table XXXX \
--fields-terminated-by ',' \
-m 5 \
--hive-database XXXX
注意问题:
1.如果导入的数据表中的数据用逗号隔开,那么fields-terminated-by ',' 不能用',',换成其他的符号格式
2.如果导入的数据出现脏数据或者导入的目标端数据比源端数据多,那么可以增加如下参数:
sqoop import --connect jdbc:mysql://ip:9030/database --username root --password XXXX --table XXXX --m 1 --hive-import --hive-overwrite --hive-database database --hive-table XXXX --hive-drop-import-delims
注意:
1.如果在hue中执行,那么不能换行
2.如果在hue中执行,那么用tab键进行分割
3.如果出现脏数据或者null数据,那么增加参数: --hive-drop-import-delims
4.数据增量覆盖,增加--hive-overwrite
5.出现一个隐藏性的问题,就是缺少mysql驱动,需要增加驱动,才能进行数据抽取和全量读取
综上: 主要用来抽取大量数据