hadoop - 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)
谁能帮我解决这个问题。
解决方案
推荐阅读
- django - Django REST Serializer 使用错误的模型进行序列化
- python - python文件写入程序运行时如何更新桌面上的文件大小
- javascript - 使用 d3.js 更新表数据
- c# - C#捕获从不在进程中的函数返回的异常?
- r - 如何设置仅在输入 3 时才显示集合向量的函数?
- javascript - 如果 URI 没有改变,例如在单页应用程序上,如何检测用户是否在新页面上?
- angular - Angular Kendo UI 全局访问
- php - 内连接循环通过
- git - 如何 git rebase 从另一个分支直接到 master 分支?
- javascript - 受控数字比例映射