执行sqoop时出错 - 合并

时间:2017-03-13 11:42:32

标签: hadoop sqoop

我试图通过从netezza服务器导入数据来sqoop合并两个数据集。 以下是数字设置,数字为 id ,字母为名称

以下两个表都是使用以下命令从netezza导入的:

sqoop import --connect neteeza_url --username uname --password pwd --table sqoop_merge_1 --hive-import --warehouse-dir hdfs_pth --create-hive-table sqoop_merge_1 -m 1

sqoop_merge_1:

1,a
2,b
3,c
4,d
5,e

sqoop_merge_2:

4,z
5,y

命令是:

sqoop merge --new-data hdfs_path/sqoop_merge_2 --onto hdfs_path/sqoop_merge_1 --target-dir hdfs_path/sqoop_merge_output --jar-file jar_file_path/sqoop_merge_class_name.jar --class-name sqoop_merge_class_name --merge-key id

我使用codegen命令创建了jar文件:

sqoop codegen --connect netezza_url --username uname --password -pwd --table sqoop_merge_1

但是我收到以下错误:

java.io.IOException: Cannot join values on null key. Did you specify a key column that exists?

尝试了我所知道的所有方法,但仍然收到错误。

请帮忙。

1 个答案:

答案 0 :(得分:0)

如果您确定id列存在,由于区分大小写,可能会出现问题。

检查您是否在Netezza中指定了ID

如果是,请尝试使用--merge-key ID