【发布时间】:2015-03-05 16:53:58
【问题描述】:
我有一个文件存储在 HDFS 中的这个路径:/user/hdfs/countries
(文件为逗号分隔格式)。
为了将这个 HDFS 数据导入 PIG,我在 PIG 中运行了以下命令:
test = load ‘/ user/hdfs/countries’ using PigStorage(',') as (id:int, Name:chararray, Language:chararray);
在哪里, ID:是HDFS文件中的主键列
Name 和 Language 是 HDFS 文件中的列名
运行上述 pig 命令时出现以下错误:
猪堆栈跟踪
ERROR 1200: <line 1, column 12> Unexpected character ''
Failed to parse: <line 1, column 12> Unexpected character ''
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:243)
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:179)
at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1648)
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1621)
at org.apache.pig.PigServer.registerQuery(PigServer.java:575)
at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:1093)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:501)
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.run(Grunt.java:69)
at org.apache.pig.Main.run(Main.java:541)
at org.apache.pig.Main.main(Main.java:156)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
在 org.apache.hadoop.util.RunJar.main(RunJar.java:212)
有人可以帮我解决这个问题吗?我的命令不正确还是缺少任何 jar 文件? 提前谢谢!
【问题讨论】:
-
/和用户之间有空格吗?
标签: apache-pig