我如何在 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);
我有 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);