をBASE_TABLE(ソースから日01負荷)を比較Hadoopの
**Id Name City Country**
7682 Stuart Frankfurt Germany
8723 Micke Paris France
2355 Niki New york USA
2097 Deny Italy Rome
NEW_TABLE(ソースから日02負荷)
**Id Name City Country**
7682 Stuart *Darmstadt* Germany
8723 Micke Paris France
2355 Niki New york USA
*9057 Bony Prague Prague*
上記2つのテーブルを比較以下の3つの変化が見られる。
- レコードIDが7682の市名は
- レコードID 2097が日02負荷に削除された日02負荷にダルムシュタットに変更し、それは、ID 9057上で挿入日01負荷
- 新規レコードに存在しました日02負荷
上記のすべての3つの変更はBASE_TABLE
に取り込ま及び添付する必要があります3つの記録以下は3210が
7682 Stuart Darmstadt Germany
2097 Deny Italy Rome
9057 Bony Prague Prague
BASE_TABLE出力デイ02追加した後、比較ですから捕獲されなければならない私は、インサートと削除されたレコードを取得することができています
**Id Name City Country**
7682 Stuart Frankfurt Germany
8723 Micke Paris France
2355 Niki New york USA
2097 Deny Italy Rome
*7682 Stuart Darmstadt Germany*
*2097 Deny Italy Rome*
*9057 Bony Prague Prague*
変更SQL結合を使用していますが、更新されたレコードを取得できません。更新されたレコードを取得するために、私はローカルにファイルをlinuxにコピーして比較をしましたが、大量のデータには適していませんでした。誰もこのタイプのシナリオを扱う際にあなたの経験を共有できますか?
要求された出力は、いかなる意味にコメントを –
感謝を作成しません。比較後に必要な正確な出力(3レコード)を追加しました。 – kumsgs
これは私の2つの答えで分かるように、すでに明らかです。 (挿入/削除/更新)操作の指示なしにdiffを取得する点と、diffを基本表に追加する点は何かが明確ではありません。 –