猪拉丁分组和平均型错误:计算双精度和时的错误



我正在努力学习猪拉丁文的基本分组和平均。模式的相关块如下所示:

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

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

Try below

data = LOAD 'xademo.customer_details' USING org.apache.hive.hcatalog.pig.HCatLoader();
data = FOREACH data GENERATE region, (float)balance;
groups = GROUP data BY region;
avgs = FOREACH groups GENERATE data.region, AVG(data.balance);
DUMP avgs;

链接显示了hcatalog管理的Hive表和Pig中数据类型之间的映射,您必须检查hcatalog管理的Hive表中balance的数据类型是什么,因此您必须将其转换为各自的Pig类型。

最新更新