Java 在hadoop生态系统中,我正在使用Pig并陷入了以下查询?
我犯了以下错误。如何解决此错误Java 在hadoop生态系统中,我正在使用Pig并陷入了以下查询?,java,hadoop,apache-pig,Java,Hadoop,Apache Pig,我犯了以下错误。如何解决此错误 country_landmass_sorted = foreach country_landmass { country_landmass_count = foreach country generate group,COUNT(name) as r; sorted = ORDER country_landmass_count BY $1 DESC; GENERATE group, sorted; }; 2016-03-25 22:19:33519[main]
country_landmass_sorted = foreach country_landmass {
country_landmass_count = foreach country generate group,COUNT(name) as r;
sorted = ORDER country_landmass_count BY $1 DESC;
GENERATE group, sorted;
};
2016-03-25 22:19:33519[main]错误org.apache.pig.tools.grunt.grunt-错误1200:pig脚本无法解析:
表达式不是项目表达式:(名称:ScalarExpression)类型:null Uid:null)
日志文件中的详细信息:/home/cloudera/pig_145896817221.log
将其拆分,使用FOREACH生成count,然后使用普通表达式生成ORDER BY。试试这个
2016-03-25 22:19:33,519 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: Pig script failed to parse:
<line 11, column 16> expression is not a project expression: (Name: ScalarExpression) Type: null Uid: null)
Details at logfile: /home/cloudera/pig_1458968172221.log
检查这是否有帮助..我们不能在一个查询中使用nested吗?在嵌套foreach的末尾只能有一个generate,因此不能对语句3和4应用两个generate。
A = LOAD 'file' USING PigStorage(',') as (a:chararray,b:int);
B = group A BY a;
C = FOREACH B GENERATE group,COUNT(A.a);
D = ORDER C By $1;