过滤掉另一个表中存在的记录

时间:2017-04-20 12:50:49

标签: apache-pig

表A有 Column1聚焦的100条记录

表B有 Column1聚焦的10条记录

所以我必须总是根据表b中的column1过滤出表A中的记录

Table_B = foreach B generate flatten(TOTUPLE(SEN_NBR));

result = FILTER TABLE_A BY SEN_NBR NOT IN (Table_B);

任何帮助都会很棒!

1 个答案:

答案 0 :(得分:2)

使用LEFT OUTER JOIN并过滤掉null。这只会给出表A中不在表B中的记录

A = JOIN Table_A BY SEN_NBR LEFT OUTER,Table_B by SEN_NBR;
B = FILTER A by Table_B.SEN_NBR is null;

注意:我已使用示例here

回答了类似的问题