我有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是一组元组。 我在这里错过了什么? 感谢
答案 0 :(得分:1)
您在GENERATE
stmt之前错过了DIFF
关键字,这就是导致此错误的原因。你能这样改变吗?
D = FOREACH C GENERATE DIFF(A, B);