我如何在PIG中进行DIFF

时间:2015-03-19 01:27:21

标签: apache-pig hadoop2

我有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'

附近的意外符号

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

1 个答案:

答案 0 :(得分:1)

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

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