我正在努力学习Pig Latin基本分组和平均。架构的相关块看起来像这样:
region: chararray, balance: float
我试图找出一个群体中每个地区的平均余额。 完整代码如下所示:
data = LOAD 'xademo.customer_details' USING org.apache.hive.hcatalog.pig.HCatLoader();
data = FOREACH data GENERATE region, balance as balance:float;
groups = GROUP data BY region;
avgs = FOREACH groups GENERATE data.region, AVG(data.balance);
DUMP avgs;
此时,我收到以下错误:
2016-10-02 01:34:43,081 [main] ERROR org.apache.pig.tools.pigstats.PigStats - ERROR 0: org.apache.pig.backend.executionengine.ExecException: ERROR 2103: Problem while computing sum of doubles.
2016-10-02 01:34:43,081 [main] ERROR org.apache.pig.tools.pigstats.mapreduce.MRPigStatsUtil - 1 map reduce job(s) failed
我不确定我的代码到底出了什么问题,因为群组对我来说很好。
答案 0 :(得分:3)
尝试以下
void hi(int n){
for (int i=1; i <= n; i++) { //line 1
for (int k = i; k <= n; k++) { //line 2
puts("hi"); //line 3
}
}
}
link显示HCatalog管理的Hive表和Pig中的数据类型之间的映射,您必须检查HCatalog管理的Hive表中的余额的数据类型,因此您必须将其转换为相应的输入猪。