【问题标题】:Error in pig commandpig命令错误
【发布时间】:2014-11-17 00:08:15
【问题描述】:

我正在研究一些关于新的 hadoop/pig 设置的示例。
这个相当简单的示例代码让我感到困惑..

A1 = load 'passwd' using PigStorage(':') as (f1:chararray,f2:chararray,f3:chararray,f4:chararray,f5:chararray,f6:chararray,f7:chararray);

G = group A1 by f7;

foreach G generate group, a.$2;

G 上的最后一个 foreach 失败并显示以下错误消息 -

[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1000: Error during parsing.
Encountered " <IDENTIFIER> "foreach "" at line 1, column 1.

有人可以礼貌地指出我在这里缺少什么吗?或者我只是在这里生锈了..

【问题讨论】:

    标签: ubuntu hadoop apache-pig virtualization


    【解决方案1】:

    你能把最后一行改成这样吗?

    H = foreach G generate group, A1.$2;
    DUMP H;
    

    这里 A1.$2 表示您正在尝试访问 f3 列,其他选项是

    H = foreach G generate group, A1.f3;
    

    【讨论】:

      【解决方案2】:

      谢谢,我相信问题就在身边

      1. 没有将 foreach G 结果分配给的包,所以,

        foreach G 生成....

      不会工作,但是

      H = foreach.... 
      

      做了。

      1. 使用 a 而不是 A1。 我使用了一个未知变量“a”,而不是我应该提到的正确包 A1。

      所以,对我有用的正确命令 -

      H = foreach G generate group, A1.f1; 
      

      非常感谢。

      【讨论】:

      • 我很抱歉没有解释问题的根本原因,而只是发布了解决方案。现在您了解了问题并清楚地解释了 +1。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多