首页 > 解决方案 > Pig - 表达式不是项目表达式:(名称:ScalarExpression)类型:null Uid:null)

问题描述

这是我的文件数据:

86246,205,7,707,1078778070,12564,3/2/2012,12,OZ,1,7.59
86246,205,63,6319,107654575,17876,3/2/2012,64,OZ,1,1.59
86246,205,97,9753,1022027929,0,3/2/2012,1,CT,1,5.99
86246,205,25,2509,107996777,31373,3/2/2012,16,OZ,1,1.99
86246,205,55,5555,107684070,32094,3/2/2012,16,OZ,2,10.38
12277270,95,11,1114,107027272,5613,5/25/2013,32,OZ,1,5.49
12277270,95,26,2622,102570020,20361,5/25/2013,30,CT,1,4.79
12277270,95,9,902,104400040,19783,5/25/2013,8.5,OZ,1,1.88
12277270,95,27,2704,103270030,7966,5/25/2013,25,CT,1,13.99
12277270,95,97,9753,10000,0,5/25/2013,1,CT,1,6.7

我执行以下步骤以获取我的数据:

步骤1:

transaction = LOAD 'projectDemo2/part-m-00000' USING PigStorage(',') as(id:chararray,chain:chararray,dept:chararray,category:chararray,company:chararray,brand:chararray,date:chararray,productsize:float, productmeasure:chararray, purchasequantity:int,purchaseamount:float);

第2步

chainGroupCust = GROUP transactions BY (chain,id);

第三步

chainGroupCustSpedings1 = FOREACH chainGroupCust GENERATE group, SUM(transactions.purchaseamount)
as spendings;

第4步

chainGroupCustSpendings2= FOREACH chainGroupCustSpedings1 generate group.chain as chain,group.id as 
id, spendings;

第五步

chainGroupCustSpendings3= GROUP chainGroupCustSpendings2 BY chain;

第 6 步

chainTop10Cust = FOREACH chainGroupCustSpendings3{
chainGroupCustSpedingsSort = ORDER chainGroupCustSpendings2 BY spendings DESC;
top10Cust = LIMIT chainGroupCustSpedingsSort 10;
GENERATE top10Cust;
}

在执行第 6 步时,我收到以下错误

表达式不是项目表达式:(名称:ScalarExpression)类型:null Uid:null)

谁能帮我解决这个问题。

标签: hadoopbigdataapache-pig

解决方案


推荐阅读