2014-09-30 19 views
2


我試圖使用JSonLoader形式的大象 - 鳥 - 豬包。
我的劇本很簡單:從大象 - 鳥 - 豬使用JsonLoader時出錯

register elephant-bird-pig-4.5.jar 
register elephant-bird-hadoop-compat-4.5.jar 

A = load '1_record_2.json' USING com.twitter.elephantbird.pig.load.JsonLoader('-nestedLoad'); 

DUMP A 

我得到一個錯誤:

2014-09-30 16:15:32,439 [main] INFO org.apache.hadoop.conf.Configuration.deprecation - fs.default.name is deprecated. Instead, use fs.defaultFS 
2014-09-30 16:15:32,447 [main] INFO org.apache.pig.tools.pigstats.ScriptState - Pig features used in the script: UNKNOWN 
2014-09-30 16:15:32,448 [main] INFO org.apache.pig.newplan.logical.optimizer.LogicalPlanOptimizer - {RULES_ENABLED=[AddForEach, ColumnMapKeyPrune, GroupByConstParallelSetter, LimitOptimizer, LoadTypeCastInserter, MergeFilter, MergeForEach, NewPartitionFilterOptimizer, PartitionFilterOptimizer, PushDownForEachFlatten, PushUpFilter, SplitFilter, StreamTypeCastInserter], RULES_DISABLED=[FilterLogicExpressionSimplifier]} 
2014-09-30 16:15:32,449 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MRCompiler - File concatenation threshold: 100 optimistic? false 
2014-09-30 16:15:32,450 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size before optimization: 1 
2014-09-30 16:15:32,450 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MultiQueryOptimizer - MR plan size after optimization: 1 
2014-09-30 16:15:32,464 [main] INFO org.apache.hadoop.yarn.client.RMProxy - Connecting to ResourceManager at hadoop1.unx.t-mobile.pl/10.242.8.131:8050 
2014-09-30 16:15:32,466 [main] INFO org.apache.pig.tools.pigstats.ScriptState - Pig script settings are added to the job 
2014-09-30 16:15:32,466 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - mapred.job.reduce.markreset.buffer.percent is not set, set to default 0.3 
2014-09-30 16:15:32,467 [main] ERROR org.apache.pig.tools.grunt.Grunt - ERROR 2998: Unhandled internal error. com/twitter/elephantbird/util/HadoopCompat 
Details at logfile: pig_1412081068149.log 

我不知道什麼是失蹤。你能提出一些建議嗎?

文件pig_1412081068149.log包含:

Pig Stack Trace 
--------------- 
ERROR 2998: Unhandled internal error. com/twitter/elephantbird/util/HadoopCompat 

java.lang.NoClassDefFoundError: com/twitter/elephantbird/util/HadoopCompat 
    at com.twitter.elephantbird.pig.load.LzoBaseLoadFunc.setLocation(LzoBaseLoadFunc.java:93) 
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.getJob(JobControlCompiler.java:477) 
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler.compile(JobControlCompiler.java:298) 
    at org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher.launchPig(MapReduceLauncher.java:191) 
    at org.apache.pig.PigServer.launchPlan(PigServer.java:1324) 
    at org.apache.pig.PigServer.executeCompiledLogicalPlan(PigServer.java:1309) 
    at org.apache.pig.PigServer.storeEx(PigServer.java:980) 
    at org.apache.pig.PigServer.store(PigServer.java:944) 
    at org.apache.pig.PigServer.openIterator(PigServer.java:857) 
    at org.apache.pig.tools.grunt.GruntParser.processDump(GruntParser.java:774) etc... 

缺少什麼類(java.lang.NoClassDefFoundError)?我應該添加哪些庫?

感謝
帕維爾

+0

NoClassDefFoundError通常表示您有不兼容的JAR文件。 – 2014-10-09 12:30:15

回答

0

是否存在註冊庫,我已經籤和類的庫裏面。
Everythig看起來不錯,但我仍然得到這個錯誤。
所以我離開豬殼,再次打開它 - 同樣的腳本工作正常。

0

你錯過了兩個重要的罐子註冊。 register elephant-bird-core-4.5.jar register json-simple-1.1.1.jar

將這兩個添加到你的豬腳本,一切都應該正常工作。