sqoop将mysql数据导入hive表中时,数据条数不一致
问题描述
在使用sqoop将mysql数据导入到hive表中时,发现hive表中对应的数据多了几行null
导致hive表中数据条数与mysql表中数据条数不一致。
问题解决
使用sqoop的命令如下:
sqoop import \
--connect jdbc:mysql://ip:3306/库名 \
--username * \
--password * \
--table * \
--num-mappers 1 \
--fields-terminated-by '\t' \
--delete-target-dir \
--hive-import \
--hive-overwrite \
--hive-database * \
--hive-table * \
--hive-drop-import-delims \
--null-string '\\N' \
--null-non-string '\\N'
- 在sqoop命令中加上 - -hive-drop-import-delims \ 即可,作用删除掉mysql中一些特殊字符。
2.分隔符尽量不要指定为 ‘,’,否则会出现字段数量不一致。