Pig Latin 中的 AVG() 函数问题

Posted

技术标签:

【中文标题】Pig Latin 中的 AVG() 函数问题【英文标题】:Issue with AVG() function in Pig Latin 【发布时间】:2018-03-21 15:54:03 【问题描述】:

我正在尝试生成数据集中列出的表演(double) 的 AVG()。我收到了一个ERROR 1066: Unable to open iterator for alias TEST 异常,我认为这是因为 TEST 为空且无法迭代。

代码:

flat_bus = FOREACH buss GENERATE near, name, FLATTEN(categories) AS category, stars;

bus_grouped = GROUP flat_bus BY category;

category_avg = FOREACH bus_grouped GENERATE group as grp, AVG(bus_grouped.stars);

TEST = LIMIT category_avg 10;

DUMP TEST;

我测试了 group 功能,它成功转储如下:

【问题讨论】:

【参考方案1】:

应该从 flat_bus 获得星星

category_avg = FOREACH bus_grouped GENERATE group as grp, AVG(flat_bus.stars);

【讨论】:

以上是关于Pig Latin 中的 AVG() 函数问题的主要内容,如果未能解决你的问题,请参考以下文章

处理 PIG Latin 中的重复记录

Store 命令中的 Pig Latin 参数

如何优化 PIG latin 中的 group by 语句?

使用 Pig latin 从文件中获取最大日期

我想用 PIG 中的 AVG 替换 NULL 值

我可以使用 Pig Latin 中的嵌套 FOREACH 语句生成嵌套包吗?