猪 - 简单负荷的例外 [英] Pig - exception on simple load
问题描述
我刚开始学习猪,并试图用它做一些事情,所以我进入猪控制台,只需输入 a = load'sample_data.csv';
(我有一个名为 sample_data.csv
的文件)。我收到以下异常:
Pig Stack Trace
------------- -
错误2998:未处理的内部错误。 。名
java.lang.NoSuchFieldError的:在org.apache.pig.parser.QueryParserStringStream名
将INIT>(QueryParserStringStream.java:32)
。在org.apache .pig.parser.QueryParserDriver.tokenize(QueryParserDriver.java:207)
在org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:175)
在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)在org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:991
)
。在org.apache.pig.tools.pigscript.parser.PigScriptParser.parse (PigScriptParser.java:412)
在org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:194)在org.apache.pig.tools.grunt.GruntParser.parseStopOnError
(GruntParser.java:170)
在org.apache.pig.tools.grunt.Grunt.run(Grunt.java:69)
在org.apa chepig.Main.run(Main.java:538)
at org.apache.pig.main.main(Main.java:157)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method )
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
处的java.lang.reflect sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
。 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目录的主目录。
我也是意识到之前提出的类似问题。 这里
但是,即使按照指示设置我的 $ PIG_CLASSPATH
变量,并且 echo
编辑 $ PIG_CLASSPATH
以确保它设置正确,但我仍然得到相同的错误。
在24小时内挠了挠头。我终于在我的同事的帮助下找到了它。
因为 Hive
。由于某些原因,当 Pig
和 Hive
在同一台机器上设置时,这往往会发生。所以我需要做的是
$ b $ pre $ export HIVE_HOME =
I just started learning pig and trying to do something with it, so I enter the pig console and simply type a = load 'sample_data.csv';
( I have a file named sample_data.csv
). I received the following exception:
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)
================================================================================
The content of sample_data.csv
is:
1, John, Smith
2, Jane, Doe
3, George, Washington
4, Ben, Franklin
I have also set the $PIG_HOME
variable to the home folder of the pig directory.
I am also aware of the similar question that's been raised before. here
However, even if I set my $PIG_CLASSPATH
variable as instructed, and echo
ed the $PIG_CLASSPATH
to make sure that it is set correctly, I still get the same error.
After scratching my head for 24 hours. I finally figured it out with the help of my colleage.
It was becuase of Hive
. For some reason when both Pig
and Hive
are set on the same machine, this tends to happen. So all I needed to do is
export HIVE_HOME=
这篇关于猪 - 简单负荷的例外的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!