2016-05-12 30 views
0

我試圖解決的問題下面相匹配的數據,請建議需要省略,在兩個表中豬

我有兩個表想要刪除的唯一匹配的記錄存在於表2 注意:即使有在表中提供普通按鍵若表2有1條記錄,那麼它應該只 刪除1個記錄表1包括相同的密鑰的, 輸入:

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

你需要得到設置兩個關係之間的差異。 來源:See here。你必須下載支持從here .The罐子功能下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你請標明它回答的jar文件? –