sqoop import \
--connect "jdbc:mysql://quickstart.cloudera:3306/retail_db" \
--username=retail_dba \
--password=cloudera \
--table departments_null \
--hive-home /user/hive/warehouse \
--hive-import \
--hive-overwrite \
--hive-table sqoop_import.departments_null \
--create-hive-table \
--outdir java_files \
--direct \
--null-string 'N/A' \
--null-non-string '-1' \
--fields-terminated-by '|' \
--lines-terminated-by '\n' \
-m 1
主键有唯一的值,而其他列有null,但是在导入之后它只显示null,而不是我指定的n/a或-1
1条答案
按热度按时间lrpiutwd1#
你的命令似乎很好。
你的Hivetable
sqoop_import.departments_null
是预先创建的,而不是--fields-terminated-by '|'
以及--lines-terminated-by '\n'
选中create table script using我认为你的字段分隔符引起了这个问题。
检查与您的表对应的hdfs目录中的数据,其中应该包含“n/a”和-1。