2012-12-18 25 views
0

我發現一個共同的事情,我在豬的願望關係是我將與數據,如豬過濾器如果包含在第二個關係

A = id, attribute1:int, attribute2:double... 

小的關係,並與數據,如

大關係
B = id, differentattribute:chararray... 

,我會希望篩選B,使用它的所有元組的有中都包含的A. 我知道我可以做一個ID,

C = JOIN A by id, B by id; 
D = FOREACH C GENERATE B::id, B::differentattribute; 

但這似乎令人難以置信的低效率。 using IN cause with PIG FILTER聲稱沒有IN子句......如果沒有,是否有一種更有效的方式來模擬IN與UDF?

+0

我認爲上述解決方案是足夠好的。如果你有足夠的計算能力,它將不會花費太多時間來運行 – Fivesheep

回答

1

如果A適合的內存,你可以看看replicated joins

片段重複連接是一種特殊類型的聯接行之有效如果 一個或多個關係小到足以放入主記憶。在 這種情況下,豬可以執行非常有效的加入[...]

相關問題