【问题标题】:pig file load errorpig文件加载错误
【发布时间】:2012-10-16 10:04:28
【问题描述】:

我正在尝试在猪环境中运行此命令。

grunt> A =  LOAD inp;

但我在日志文件中收到此错误: 猪栈跟踪:

错误 1200:不匹配的输入 'inp' 期望引用字符串

解析失败:不匹配的输入“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) 在 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)

  • 在控制台中我会变成这样:

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

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

【问题讨论】:

    标签: apache-pig


    【解决方案1】:

    加载的语法使用错误。查看此处提供的正确示例。 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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 这并没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
      猜你喜欢
      • 1970-01-01
      • 2011-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多