【问题标题】:pig counting distinct leads to scalar has more than one row in output error猪计数不同导致标量输出错误多于一行
【发布时间】:2014-04-24 00:56:22
【问题描述】:

我有一个猪关系,上面写着 -

describe A;
A:{header:(member_id, field_2,..)}

现在我只想梳理一下成员,所以我这样做了 -

A1 = FOREACH A GENERATE A.header.member_id;
A2 = LIMIT A1 10;
dump A2;

这运行了很长时间,最终导致错误 - 无法打开别名 A2 的迭代器。后端错误:标量在输出中有不止一行。

我做错了什么?

【问题讨论】:

标签: hadoop apache-pig


【解决方案1】:

问题在于这一行:

 A1 = FOREACH A GENERATE A.header.member_id;

您不应在 A.header.member_id 中引用 A。 Pig 正在对A 中的每个元组进行操作,因此它只能看到每个元组中的值(在这种情况下只有header)。由于 Pig 在此范围内看不到 A,因此它会检查它是否可以使用关系(在您的示例中,AA1A2 是关系)。但是,它只能在只有一行的情况下使用该关系;如果不是,它会创建您遇到的错误。

解决办法就是把A1改成:

 A1 = FOREACH A GENERATE header.member_id;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-08-24
    • 2018-07-14
    • 2019-03-23
    • 2017-05-01
    • 1970-01-01
    • 2017-09-16
    • 1970-01-01
    相关资源
    最近更新 更多