gpt4 book ai didi

hadoop - 我的 pig 拉丁文字中的错误

转载 作者:行者123 更新时间:2023-12-02 21:08:51 26 4
gpt4 key购买 nike

我正在尝试对Pig中的文件执行中值操作。该文件如下所示。

NewYork,-1
NewYork,-5
NewYork,-2
NewYork,3
NewYork,4
NewYork,13
NewYork,11
Amsterdam,12
Amsterdam,11
Amsterdam,2
Amsterdam,1
Amsterdam,-1
Amsterdam,-4
Mumbai,1
Mumbai,4
Mumbai,5
Mumbai,-2
Mumbai,9
Mumbai,-4

加载文件并将其中的数据分组如下:
 wdata = load 'weatherdata' using PigStorage(',') as (city:chararray, temp:int);
wdata_g = group wdata by city;

我试图从所有城市的温度中获取中位数,如下所示:
wdata_tempmedian = foreach wdata_g { tu = wdata.temp as temp; ord = order tu by temp generate group, Median(ord); }

数据正在排序,因为需要按排序的顺序查找中位数。
但是我收到以下错误消息,我无法弄清楚是什么错误:
[main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 3, column 53> mismatched input 'as' expecting SEMI_COLON

任何帮助深表感谢。

最佳答案

您缺少“;”订购温度后。

wdata_tempmedian = FOREACH wdata_g { 
tu = wdata.temp as temp;
ord = ORDER tu BY temp;
GENERATE group, Median(ord);
}

要么
wdata_ordered = ORDER wdata_g BY temp;
wdata_tempmedian = FOREACH wdata_ordered GENERATE group, Median(ord);

注意:我假设您正在使用data-fu,因为PIG没有Median函数。确保jar已正确注册
register /path/datafu-pig-incubating-1.3.1.jar 

关于hadoop - 我的 pig 拉丁文字中的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40956428/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com