2017-03-13 39 views
0

私は、netezzaサーバーからデータをインポートして2つのデータセットをマージしようとしていました。sqoop-mergeを実行しているときにエラーが発生しました

以下の表の両方がコマンドを使用して、ネティーザからインポートされる:以下 はとしてIDや文字等の数値を有するデータセットがある

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 

とコマンドは、次のとおりです。

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

試してみました:

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

しかし、私は次のエラーを取得しています:

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 

私はコード生成コマンドを使用してjarファイルを作成しました私は知っていたが、まだエラーが発生しているすべての方法。

助けてください。

+0

"--merge-key id"、これらのデータセットに "id"という列がありますか? –

+0

はい私は持っている.. – sk79

答えて

0

確かにid列の存在が分かりますが、大文字と小文字の区別が原因で問題になる可能性があります。

IDをNetezzaで指定したことを確認しますか?

の場合は、--merge-key IDを試してください。

+0

ありがとうdev。 Netezzaは大文字と小文字を区別し、IDのIDを指定しました。私は小文字でテーブルを作成したので、このようには考えなかった。 – sk79

+0

@ sk79それはあなたのために働いてうれしいです。 –

関連する問題