猪 - 简单负荷的例外 [英] Pig - exception on simple load

查看:132
本文介绍了猪 - 简单负荷的例外的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚开始学习猪,并试图用它做一些事情,所以我进入猪控制台,只需输入 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 echoed 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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆