我在下面的代码中做错了,在通过sqoop进行配置单元导入时,通过所需的文本替换空条目

时间:2016-08-25 06:25:50

标签: hadoop hive sqoop

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 个答案:

答案 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在里面。