0

我正在尝试在 pig env 上运行此命令。

grunt> A =  LOAD inp;

但我在日志文件中收到此错误:Pig Stack Trace:

错误 1200:不匹配的输入 'inp' 期望 QUOTEDSTRING

解析失败:在 org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:168) 在org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1565) 在 org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1538) 在 org.apache.pig.PigServer.registerQuery(PigServer. java:540) 在 org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:970) 在 org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:386) 在 org .apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:189) 在 org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:165) 在 org.apache.pig.tools.grunt .Grunt.run(咕噜声。java:69) 在 org.apache.pig.Main.run(Main.java:490) 在 org.apache.pig.Main.main(Main.java:111) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在 java.lang.reflect.Method.invoke(Method.java:601) 在 org. apache.hadoop.util.RunJar.main(RunJar.java:156)org.apache.hadoop.util.RunJar.main(RunJar.java:156) 上的 Method.invoke(Method.java:601)org.apache.hadoop.util.RunJar.main(RunJar.java:156) 上的 Method.invoke(Method.java:601)

  • 在控制台中,我是这样的:

咕噜声> A = 负载输入;
2012-10-26 12:18:34,627 [main] 错误 org.apache.pig.tools.grunt.Grunt - 错误 1200:不匹配的输入“inp”期望日志文件中的 QUOTEDSTRING 详细信息:/usr/local/hadoop/pig_1351232517175.log

任何机构都可以为此提供适当的解决方案吗?

4

2 回答 2

2

load 的语法使用错误。查看此处提供的正确示例。 http://pig.apache.org/docs/r0.7.0/piglatin_ref2.html#LOAD

假设我们有一个名为 myfile.txt 的数据文件。字段以制表符分隔。记录以换行符分隔。

1 2 3
4 2 1
8 3 4

在此示例中,默认加载函数 PigStorage 从 myfile.txt 加载数据以形成关系 A。这两个 LOAD 语句是等效的。请注意,由于未指定模式,因此未命名字段,并且所有字段默认类型为 bytearray。

A = LOAD 'myfile.txt';

A = LOAD 'myfile.txt' USING PigStorage('\t');

DUMP A;
(1,2,3)
(4,2,1)
(8,3,4)

来自http://pig.apache.org/docs的示例

我相信错误日志是不言自明的,它说 - 期待 QUOTEDSTRING

于 2012-10-30T00:38:22.837 回答
1

请将文件名放在单引号中以解决此问题。

于 2015-01-23T03:18:28.040 回答