복붙노트

[HADOOP] 돼지 - 간단한 부하에 대한 예외

HADOOP

돼지 - 간단한 부하에 대한 예외

난 그냥 돼지를 배우고 그것으로 뭔가를 시도하기 시작, 그래서 나는 돼지 콘솔을 입력하고 단순히 =로드 'sample_data.csv'를 입력; (I라는 파일 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_CLASSPATH를 에코로 내 $의 PIG_CLASSPATH 변수를 설정 한 경우에도, 나는 여전히 같은 오류가 발생합니다.

해결법

  1. ==============================

    1.24 시간 동안 내 머리를 긁적 후. 나는 결국 내 대학교 안의 도움으로 그것을 알아 냈다.

    24 시간 동안 내 머리를 긁적 후. 나는 결국 내 대학교 안의 도움으로 그것을 알아 냈다.

    이 때문에 하이브이었다. 돼지 및 하이브 모두가 동일한 시스템에 설정되어 어떤 이유로, 이런 일이 발생하는 경향이있다. 그래서 내가 할하는 데 필요한 모든입니다

    export HIVE_HOME=
    
  2. from https://stackoverflow.com/questions/17179200/pig-exception-on-simple-load by cc-by-sa and MIT license