我如何在 PIG 中进行 DIFF

How do I do a DIFF in PIG

我有 2 个数据集,我试图从中找出不同之处。我知道还有其他方法可以做到这一点。我感兴趣的是为什么这段代码失败了。

A = LOAD 'raw.people1' using org.apache.hive.hcatalog.pig.HCatLoader();
B = LOAD 'raw.people2' using org.apache.hive.hcatalog.pig.HCatLoader();
C = COGROUP A BY (name, place, animal, thing) , B BY (name, place, animal, thing) ;
D = FOREACH C DIFF(A, B);

A、B 和 C 工作正常。但是 D 失败并出现错误: 解析失败:语法错误,'DIFF'

处或附近的意外符号

现在应该不是这样了。 pig 文档 (http://pig.apache.org/docs/r0.9.1/func.html#diff) 指出 DIFF 将两个 pags 作为参数,A 和 B 是元组包。 我在这里错过了什么? 谢谢

您在 DIFF stmt 之前错过了 GENERATE 关键字,这就是此错误的原因。能改成这样吗?

D = FOREACH C GENERATE DIFF(A, B);