Apache pig 输入不匹配'';预期为左派(IBM BIGINSIGHTS)

Apache pig 输入不匹配'';预期为左派(IBM BIGINSIGHTS),apache-pig,biginsights,Apache Pig,Biginsights,很抱歉问了一个幼稚的问题。我是个新手。我有一个Pig脚本,出现以下错误: ERROR [main] org.apache.pig.tools.grunt.Grunt - ERROR 1200: <file xxx.script, line 2, column 20> mismatched input ';' expecting LEFT_PAREN 这是stacktrace: ERROR 1200: <file xxx.script, line 2, co

很抱歉问了一个幼稚的问题。我是个新手。我有一个Pig脚本,出现以下错误:

ERROR [main]      org.apache.pig.tools.grunt.Grunt     - ERROR 1200: <file xxx.script, line 2, column 20>  mismatched input ';' expecting LEFT_PAREN
这是stacktrace:

ERROR 1200: <file xxx.script, line 2, column 20>  mismatched input ';' expecting LEFT_PAREN

org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during parsing. <file xxx.script, line 2, column 20>  mismatched input ';' expecting LEFT_PAREN
at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1689)
at org.apache.pig.PigServer$Graph.access$000(PigServer.java:1409)
at org.apache.pig.PigServer.parseAndBuild(PigServer.java:342)
at org.apache.pig.PigServer.executeBatch(PigServer.java:367)
at org.apache.pig.PigServer.executeBatch(PigServer.java:353)
at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:140)
at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:769)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:372)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:173)
at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84)
at org.apache.pig.Main.run(Main.java:607)
at org.apache.pig.Main.main(Main.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:619)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: Failed to parse: <file /home/biadmin/xxx.script, line 2, column 20>  mismatched input ';' expecting LEFT_PAREN
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:241)
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:179)
at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1676)
... 17 more
错误1200:输入不匹配“;”期待左撇子
org.apache.pig.impl.logicalLayer.FrontendException:错误1000:解析过程中出错。输入不匹配“;”期待左撇子
位于org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1689)
位于org.apache.pig.PigServer$Graph.access$000(PigServer.java:1409)
位于org.apache.pig.PigServer.parseAndBuild(PigServer.java:342)
位于org.apache.pig.PigServer.executeBatch(PigServer.java:367)
位于org.apache.pig.PigServer.executeBatch(PigServer.java:353)
位于org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:140)
位于org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:769)
位于org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:372)
位于org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198)
位于org.apache.pig.tools.grunt.GruntParser.parsetoponerror(GruntParser.java:173)
位于org.apache.pig.tools.grunt.grunt.exec(grunt.java:84)
位于org.apache.pig.Main.run(Main.java:607)
位于org.apache.pig.Main.Main(Main.java:156)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)中
位于java.lang.reflect.Method.invoke(Method.java:619)
位于org.apache.hadoop.util.RunJar.main(RunJar.java:212)
原因:未能分析:输入不匹配“;”期待左撇子
位于org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:241)
位于org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:179)
位于org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1676)
... 还有17个

正如@Surender Raja所指出的,store是一个关键字,在将其更改为deptStore后,我可以使用名称而不是$1来引用它

但是,如果我使用:b=a组乘以$1;然后它工作得很好。我看不出猪的脚本有任何问题。你能在这里添加输入csv的内容吗?这些值是否用逗号分隔?字段值中是否有单引号(')作为值?感谢您的回复@Murali Rao,但它给了我相同的错误。令人惊讶的是,a组以1美元的价格运行,效果完美。是的,它是用逗号分隔的。没有字段具有单个字段quote@Hadoop学习者$1使用的变量名是store,但不幸的是store是Pig中的关键字。。因此,请为$1使用不同的变量名。那就行了非常感谢你@Surender Raja。它通过将存储重命名为deptStore来工作。我是用1美元做的,但是名字参考绝对有帮助。
ERROR 1200: <file xxx.script, line 2, column 20>  mismatched input ';' expecting LEFT_PAREN

org.apache.pig.impl.logicalLayer.FrontendException: ERROR 1000: Error during parsing. <file xxx.script, line 2, column 20>  mismatched input ';' expecting LEFT_PAREN
at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1689)
at org.apache.pig.PigServer$Graph.access$000(PigServer.java:1409)
at org.apache.pig.PigServer.parseAndBuild(PigServer.java:342)
at org.apache.pig.PigServer.executeBatch(PigServer.java:367)
at org.apache.pig.PigServer.executeBatch(PigServer.java:353)
at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:140)
at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:769)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:372)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:198)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:173)
at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:84)
at org.apache.pig.Main.run(Main.java:607)
at org.apache.pig.Main.main(Main.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:94)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:55)
at java.lang.reflect.Method.invoke(Method.java:619)
at org.apache.hadoop.util.RunJar.main(RunJar.java:212)
Caused by: Failed to parse: <file /home/biadmin/xxx.script, line 2, column 20>  mismatched input ';' expecting LEFT_PAREN
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:241)
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:179)
at org.apache.pig.PigServer$Graph.parseQuery(PigServer.java:1676)
... 17 more