2016-05-12 13 views
0

で2つの表に一致するデータを省略する必要がある、は、私は以下の問題を解決しようとしています豚

を提案してください私は2つのテーブルを表2 に存在しているだけ一致したレコードを削除すると思っています注:あなたが取得する必要があります

Table 1: 
1,Sam,5000 
1,Sam,5000 
1,Sam,5000 
2,Boo,3000 

Table 2: 
1,Sam,5000 
2,Boo,3000 

OUTPUT: 
1,Sam,5000 
1,Sam,5000 

答えて

1

:テーブルで利用可能な共通鍵がある場合でも、表2は、1つのレコードを持っているならば、それだけで 同じキーの表1に記載の1つのレコード INPUTを削除する必要があります2つの関係の差を設定します。 出典:See here。あなたはhere【選択ジャーから機能をサポートしているjarファイルをダウンロードする必要がありますApache License

register datafu-pig-incubating-1.3.0.jar 
define SetDifference datafu.pig.sets.SetDifference(); 

A = LOAD 'test1.txt' as (a1:int,a2:chararray,a3:chararray); 
B = LOAD 'test2.txt' as (b1:int,b2:chararray,b3:chararray); 

diff = FOREACH A { 
        a1 = ORDER A by a1; 
        b1 = ORDER B by b1; 
        GENERATE SetDifference(a1,b1); 
       } 

DUMP diff; 
+0

の下で配布されておかげでその作業 –

+0

@sampatkumar Great.Canあなたはそれが答えるマークしてください? –

関連する問題