Pig Latin分组和平均类型错误:计算双精度总和时出错

时间:2016-10-02 02:05:24

标签: apache-pig grouping

我正在努力学习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

我不确定我的代码到底出了什么问题,因为群组对我来说很好。

1 个答案:

答案 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表中的余额的数据类型,因此您必须将其转换为相应的输入猪。