Hadoop Apache Pig错误--无法跟踪

Hadoop Apache Pig错误--无法跟踪,hadoop,apache-pig,Hadoop,Apache Pig,当我尝试在Pig查询下运行时,在使用SORT命令时出现错误。如果省略排序转换,则可以执行查询 grunt> month1 = LOAD 'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month1.txt' USING PigStorage(','); grunt> month2 = LOAD 'hdfs://localhost.localdomain:8020/user/cloudera/dat

当我尝试在Pig查询下运行时,在使用SORT命令时出现错误。如果省略排序转换,则可以执行查询

grunt> month1 = LOAD 'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month1.txt' USING PigStorage(',');

grunt> month2 = LOAD 'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month2.txt' USING PigStorage(',');

grunt> month3 = LOAD 'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month3.txt' USING PigStorage(',');

grunt> month4 = LOAD 'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month4.txt' USING PigStorage(',');

grunt> month5 = LOAD 'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month5.txt' USING PigStorage(',');

grunt> months = UNION month1, month2, month3, month4, month5;

grunt> clearWeather = FILTER months BY skyCondition == 'CLR';

grunt> shapedWeather = FOREACH clearWeather GENERATE date, SUBSTRING(date,0,4) as YEAR, SUBSTRING(date,4,6) as MONTH, SUBSTRING(date,6,8) as DAY, skyCondition, dryTemp;

grunt> groupedByMonthDay = GROUP shapedWeather BY (MONTH, DAY) PARALLEL 10;

grunt> aggedResults = FOREACH groupedByMonthDay GENERATE group as MonthDay, AVG(shapedWeather.dryTemp) AS AVERAGETEMP, MIN(shapedWeather.dryTemp) AS MINIMUMTEMP, MAX(shapedWeather.dryTemp) AS MAXIMUMTEMP, COUNT(shapedWeather.dryTemp) AS COUNTTEMP PARALLEL 10;

grunt> sortedResult = SORT aggedResults BY $1 DESC;

2014-10-31 10:22:44,664 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 1200: <line 11, column 0>  Syntax error, unexpected symbol at or near 'sortedResult'
Details at logfile: /home/cloudera/pig_1414775884282.log
grunt>month1=加载'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month1.txt'使用PIG存储(',');
grunt>month2=负载'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month2.txt'使用PIG存储(',');
grunt>month3=负载'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month3.txt'使用PIG存储(',');
grunt>month4=负载'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month4.txt'使用PIG存储(',');
grunt>month5=负载'hdfs://localhost.localdomain:8020/user/cloudera/data/big1/climate_month5.txt'使用PIG存储(',');
grunt>months=工会月1、月2、月3、月4、月5;
grunt>clearWeather=按天空条件过滤月份=='CLR';
grunt>shapedWeather=FOREACH clearWeather生成日期,子字符串(日期,0,4)表示年份,子字符串(日期,4,6)表示月份,子字符串(日期,6,8)表示日期,天空条件,干燥温度;
grunt>groupedByMonthDay=组形状天气(月、日)平行10;
grunt>aggedResults=FOREACH groupedByMonthDay生成组为MonthDay,平均(shapedWeather.dryTemp)为AVERAGETEMP,最小(shapedWeather.dryTemp)为MINIMUMTEMP,最大(shapedWeather.dryTemp)为MAXIMUMTEMP,计数(shapedWeather.dryTemp)为COUNTTEMP并行10;
grunt>sortedResult=按$1描述对聚合结果进行排序;
2014-10-31 10:22:44664[main]错误org.apache.pig.tools.grunt.grunt-错误1200:语法错误,在“sortedResult”处或附近出现意外符号
详细信息见日志文件:/home/cloudera/pig1414775884282.log
错误文件显示: /home/cloudera/pig_1414775884282.log 谁能给我一个解决办法吗

 Pig Stack Trace
    ---------------
    ERROR 1200: <line 11, column 0>  Syntax error, unexpected symbol at or near 'sortedResult'

    Failed to parse: <line 11, column 0>  Syntax error, unexpected symbol at or near 'sortedResult'
        at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:235)
        at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:177)
        at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1572)
        at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1545)
        at org.apache.pig.PigServer.registerQuery(PigServer.java:518)
        at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:991)
        at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:412)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:194)
        at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:170)
        at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
        at org.apache.pig.Main.run(Main.java:538)
        at org.apache.pig.Main.main(Main.java:157)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
清管器堆栈跟踪
---------------
错误1200:语法错误,在“sortedResult”处或附近出现意外符号
无法分析:语法错误,在“sortedResult”处或附近出现意外符号
位于org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:235)
位于org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:177)
位于org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1572)
位于org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1545)
位于org.apache.pig.PigServer.registerQuery(PigServer.java:518)
位于org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:991)
位于org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:412)
位于org.apache.pig.tools.grunt.GruntParser.parsetoponerror(GruntParser.java:194)
位于org.apache.pig.tools.grunt.GruntParser.parsetoponerror(GruntParser.java:170)
位于org.apache.pig.tools.grunt.grunt.run(grunt.java:69)
位于org.apache.pig.Main.run(Main.java:538)
位于org.apache.pig.Main.Main(Main.java:157)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)中
位于java.lang.reflect.Method.invoke(Method.java:597)
位于org.apache.hadoop.util.RunJar.main(RunJar.java:208)

清管器中没有排序命令。Try-ORDER命令

 sortedResult = ORDER aggedResults BY $1 DESC;

谢谢湿婆,现在我找到了解决办法。