2016-07-30 2 views
1

私はハイブテーブルを持っています。毎日ハイブテーブルにデータが入るという要件がある場合。入ってくるデータが新しいレコード(挿入)の場合は、レコードをハイブテーブルに挿入するか、入ってくるデータがすでにハイブに存在する(更新)場合は、レコードを更新する必要があります。ハイブテーブルのデータ管理

これはHiveでどのように達成されたか説明できます。

オンラインで確認しましたが、この記事が見つかりました。 http://hortonworks.com/blog/four-step-strategy-incremental-updates-hive/

答えて

0


はこれを行うにはserveralの方法があり、それが依存する:

  • 要件は何丁度、
  • 使用しているハイブのバージョンは何
  • (0.14ハイブは完全なCRUDをサポートしているので) 、
  • ソースデータの形式は、(それはいくつかのRDBMSをだならば、あなたはあなたが持っているデータをロードすることがいかに大きな
  • Sqoop incremental load)を使用することがある何


あなたが投稿したリンクはプロセスを非常によく説明していると思います。

  1. GROUPを使用して(一意キーまたはタイムスタンプに基づいてFEを重複を削除
  2. 、送信先テーブルに新しいデータを追加
  3. 、ソースデータに外部表を作成します。これは次のようになります記述するための、より一般的な方法BY)。

私は強くHive docを通過し、各ステップを行うにはどのように自分自身を把握することをお勧めします:)

乾杯、
カロル

0

は、「データは毎日Hiveのテーブルに来るということです」 - データ摂取の一部です。同じものに対してSqoop Incremental Importを使うことができます。コード化できる2つの方法。

(1) - あなたが最後の値が入って来または

知っているときに使用、追加(2)は、インサートを追跡するために使用することができるDATE列を有している場合に使用、改変--last。

更新については、共有したリンクの説明に従って外部テーブルを使用できます。

関連する問題