如何在Pig Latin中使用WHERE子句编写左外连接?

时间:2016-05-17 11:23:54

标签: apache-pig

我与定义的模式有两个关系。我希望只找到关系中不存在的记录(参见this post左侧的中间可视化)。

我已经尝试了以下两种变体但没有成功,因为它们都返回下面的错误。如何在Pig中执行此类操作?

  

“ERROR 1200不匹配输入'在哪里'期待SEMI-COLON。”

join_result = JOIN relationA by (project_id, sequence_id) LEFT OUTER, relationB by (project_id, sequence_id) WHERE relationB (project_id, sequence_id)is null;

join_result = JOIN relationA by (project_id, sequence_id) LEFT OUTER, relationB by (project_id, sequence_id) WHERE (relationB.project_id is null) AND (relationB.sequence_id is null);

1 个答案:

答案 0 :(得分:3)

没有" WHERE" PIG中JOIN中的条款。您必须使用FILTER根据条件消除记录。

join_result = JOIN relationA by (project_id, sequence_id) LEFT OUTER, relationB by (project_id, sequence_id);
final_result = FILTER join_result BY (relationB.project_id is null AND relationB.sequence_id is null);
相关问题