猪文件加载错误

时间:2012-10-26 06:27:18

标签: apache-pig

我正试图在猪环境中运行这个commang。

grunt> A =  LOAD inp;

但是我在日志文件中收到此错误: 猪堆痕迹:

  

ERROR 1200:输入'inp'不匹配,期待QUOTEDSTRING

     

无法解析:输入'inp'不匹配,需要QUOTEDSTRING       在org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:226)       在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(Grunt.java:69)       在org.apache.pig.Main.run(Main.java:490)       在org.apache.pig.Main.main(Main.java:111)       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)       at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)       at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)       在java.lang.reflect.Method.invoke(Method.java:601)       在org.apache.hadoop.util.RunJar.main(RunJar.java:156)

  • 在控制台Iam得到这样的结果:

咕噜> A = LOAD inp;
2012-10-26 12:18:34,627 [main] ERROR org.apache.pig.tools.grunt.Grunt - 错误1200:错误的输入'inp'期待QUOTEDSTRING 日志文件的详细信息:/usr/local/hadoop/pig_1351232517175.log

任何机构都能为我提供合适的解决方案吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

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