2017-08-14 11 views
0

私はすでにロールというハイブテーブルを持っています。私はこのテーブルをmysqlから出てくる情報で更新する必要があります。だから、私はこのスクリプトを使用している、それは私のハイブテーブルに新しいデータを追加して更新することを考える: `mysqlテーブルからsqoopでハイブテーブルを更新する

sqoop import --connect jdbc:mysql://nn01.itversity.com/retail_export --username retail_dba --password itversity \ --table roles --split-by id_emp --check-column id_emp --last-value 5 --incremental append \ --target-dir /user/ingenieroandresangel/hive/roles --hive-import --hive-database poc --hive-table roles 

残念ながら、唯一の新しいデータを挿入するが、私はすでに終了し、レコードを更新することはできませんことを。あなたは文のカップルを頼む前に:私はすでに存在している人のためのレコードを重複してしまいますパラメータとして--last-値を指定していけない場合

  • は、テーブルには、PK

  • を持っていません。

私は切り捨てテーブルを適用せずに、またはPKを使用してテーブルを再作成することなくどのように把握できますか?方法が存在する?

ありがとうございます。

+0

すでに言及したように、切り捨てプロセスに従わなければならないとします。 –

+0

他の方法はありませんか?私はACIDテーブルスキーマをサポートしていません。まあ私はちょうど確信したかった。 –

答えて

0

ハイブは更新クエリを実行しません。 古いテーブルを削除/切り捨てて、再読み込みする必要があります。

関連する問題