给定包A和B,删除B中包含的A中的所有元组

时间:2013-08-18 10:37:04

标签: apache-pig

在猪身上,我有两个袋子。袋A的尺寸约为200GB,袋B的尺寸约为600GB。它们具有相同的架构。如何从包B中包含的包A中删除所有元组?我看了猪的DIFF udf,但将两个袋子同时装在记忆中似乎不太实际。

1 个答案:

答案 0 :(得分:2)

这是一个解决方案:

C = COGROUP A BY *, B BY *;
C_FILT = FILTER C BY NOT IsEmpty(A) AND IsEmpty(B);
OUT = FOREACH C_FILT GENERATE FLATTEN(A);