我刚刚开始学习Pig并尝试对其进行处理,因此我进入Pig控制台并只需键入a = load 'sample_data.csv';
(我有一个名为sample_data.csv
的文件)。我收到以下异常:
Pig Stack Trace
---------------
ERROR 2998: Unhandled internal error. name
java.lang.NoSuchFieldError: name
at org.apache.pig.parser.QueryParserStringStream.<init>(QueryParserStringStream.java:32)
at org.apache.pig.parser.QueryParserDriver.tokenize(QueryParserDriver.java:207)
at org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:175)
at org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1571)
at org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1544)
at org.apache.pig.PigServer.registerQuery(PigServer.java:516)
at org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:991)
at org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java:412)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:194)
at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:170)
at org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
at org.apache.pig.Main.run(Main.java:538)
at org.apache.pig.Main.main(Main.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.hadoop.util.RunJar.main(RunJar.java:156)
================================================================================
sample_data.csv
的内容为:1, John, Smith
2, Jane, Doe
3, George, Washington
4, Ben, Franklin
我还已将
$PIG_HOME
变量设置为pig目录的主文件夹。我也知道以前提出过类似的问题。 here
但是,即使我按照指示设置了
$PIG_CLASSPATH
变量,并且echo
对$PIG_CLASSPATH
进行了设置以确保设置正确,我仍然会遇到相同的错误。
最佳答案
挠头24小时后。我终于在我的同事的帮助下弄清楚了。
这是因为Hive
。由于某些原因,当在同一台机器上同时设置Pig
和Hive
时,往往会发生这种情况。所以我要做的就是
export HIVE_HOME=
关于hadoop - pig -简单加载异常(exception),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17179200/