Apache pig 筛选出存在于另一个表中的记录

Apache pig 筛选出存在于另一个表中的记录,apache-pig,Apache Pig,表A有: 100条记录,第1列为焦点 表B有: 10条记录,第1列为焦点 因此,我必须始终根据表b中的第1列筛选出表A中的记录 Table_B = foreach B generate flatten(TOTUPLE(SEN_NBR)); result = FILTER TABLE_A BY SEN_NBR NOT IN (Table_B); 任何帮助都会很好 使用左外联接并过滤掉空值。这将只提供表a中不在表B中的记录 A = JOIN Table_A BY SEN_NBR LEFT OUT

表A有: 100条记录,第1列为焦点

表B有: 10条记录,第1列为焦点

因此,我必须始终根据表b中的第1列筛选出表A中的记录

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

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

任何帮助都会很好

使用左外联接并过滤掉空值。这将只提供表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;

注意:我用一个例子回答了一个类似的问题

使用左外连接并过滤掉空值。这将只给出表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;

注意:我已经用一个例子回答了一个类似的问题

如果我想使用Table_B来过滤Table_a的许多(比如几十)列,该怎么办?猪有一个有效的方法来做到这一点吗?我不想为这些列中的每一列都编写一个左外部联接。如果我想使用Table_B来过滤Table_a中的许多(比如几十)列,该怎么办?猪有一个有效的方法来做到这一点吗?我不想为这些列中的每一列编写一个左外部联接。