Apache pig 第二个关系中包含的清管器过滤器if关系

Apache pig 第二个关系中包含的清管器过滤器if关系,apache-pig,Apache Pig,在pig中,我发现我想要的一个共同点是,我将与以下数据建立一个小关系: A = id, attribute1:int, attribute2:double... B = id, differentattribute:chararray... 与数据有很大关系,如 A = id, attribute1:int, attribute2:double... B = id, differentattribute:chararray... 我想过滤B,这样所有的元组都有一个包含在A中的id。 我知

在pig中,我发现我想要的一个共同点是,我将与以下数据建立一个小关系:

A = id, attribute1:int, attribute2:double...
B = id, differentattribute:chararray...
与数据有很大关系,如

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;

但这似乎效率极低。声称没有IN条款。。。如果没有,是否有更有效的方法使用UDF模拟IN?

如果
a
适合内存,您可以查看:

片段复制连接是一种特殊类型的连接,如果 一个或多个关系小到足以装入主内存。在里面 在这种情况下,Pig可以执行非常有效的联接[…]


我认为以上的解决方案已经足够好了。如果你有足够的计算能力,运行它不会花费太多时间