【问题标题】:How do I do a DIFF in PIG如何在 PIG 中进行 DIFF
【发布时间】:2015-03-19 01:27:20
【问题描述】:

我有 2 个数据集试图找出差异。我知道还有其他方法可以做到这一点。我感兴趣的是为什么这个 sn-p 的代码会失败。

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 docs (http://pig.apache.org/docs/r0.9.1/func.html#diff) 声明 DIFF 将两个 pag 作为参数,A 和 B 是元组包。 我在这里想念什么? 谢谢

【问题讨论】:

    标签: apache-pig hadoop2


    【解决方案1】:

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

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

    【讨论】:

    • 是的,看起来文档示例不正确。
    • 文档没有使用 generate。你说的对。谢谢
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    相关资源
    最近更新 更多