2012-12-18 26 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

片段重复连接是一种特殊类型的联接行之有效如果 一个或多个关系小到足以放入主记忆。在 这种情况下,猪可以执行非常有效的加入[...]

相关问题