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,我指定了
答案 0 :(得分:0)
你的命令似乎很好。
您的hive表sqoop_import.departments_null
已预先创建,而不是--fields-terminated-by '|'
和。{
--lines-terminated-by '\n'
使用
检查创建表脚本show create table sqoop_import.departments_null
我认为你的字段分隔符在这里引起了问题。
检查与您的表格对应的HDFS目录中的数据,它应该有' N / A'和-1在里面。