2016-04-19 36 views
0

Apache PigからCSV以外にデータをロードまたは保存しようとするとエラーが発生します。あなたは私が関連する可能性があるすべてのjarファイルを追加しようとしました見ることができるようにApache Pigエラー:java.lang.reflect.InvocationTargetException

Pig Stack Trace 
--------------- 
ERROR 2999: Unexpected internal error. java.io.IOException: java.lang.reflect.InvocationTargetException 

java.lang.RuntimeException: java.io.IOException: java.lang.reflect.InvocationTargetException 
    at org.apache.hadoop.hbase.mapreduce.TableOutputFormat.setConf(TableOutputFormat.java:211) 
    at org.apache.pig.backend.hadoop.hbase.HBaseStorage.getOutputFormat(HBaseStorage.java:928) 
    at org.apache.pig.newplan.logical.visitor.InputOutputFileValidatorVisitor.visit(InputOutputFileValidatorVisitor.java:69) 
    at org.apache.pig.newplan.logical.relational.LOStore.accept(LOStore.java:66) 
    at org.apache.pig.newplan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:64) 
    at org.apache.pig.newplan.DepthFirstWalker.depthFirst(DepthFirstWalker.java:66) 
    at org.apache.pig.newplan.DepthFirstWalker.walk(DepthFirstWalker.java:53) 
    at org.apache.pig.newplan.PlanVisitor.visit(PlanVisitor.java:52) 
    at org.apache.pig.newplan.logical.relational.LogicalPlan.validate(LogicalPlan.java:212) 
    at org.apache.pig.PigServer$Graph.compile(PigServer.java:1767) 
    at org.apache.pig.PigServer$Graph.access$300(PigServer.java:1443) 
    at org.apache.pig.PigServer.execute(PigServer.java:1356) 
    at org.apache.pig.PigServer.executeBatch(PigServer.java:415) 
    at org.apache.pig.PigServer.executeBatch(PigServer.java:398) 
    at org.apache.pig.tools.grunt.GruntParser.executeBatch(GruntParser.java:171) 
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:234) 
    at org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:205) 
    at org.apache.pig.tools.grunt.Grunt.exec(Grunt.java:81) 
    at org.apache.pig.Main.run(Main.java:631) 
    at org.apache.pig.Main.main(Main.java:177) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.hadoop.util.RunJar.run(RunJar.java:221) 
    at org.apache.hadoop.util.RunJar.main(RunJar.java:136) 
Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException 
    at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:459) 
    at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:436) 
    at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:317) 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:198) 
    at org.apache.hadoop.hbase.client.HTable.<init>(HTable.java:160) 
    at org.apache.hadoop.hbase.mapreduce.TableOutputFormat.setConf(TableOutputFormat.java:206) 
    ... 25 more 
Caused by: java.lang.reflect.InvocationTargetException 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423) 
    at org.apache.hadoop.hbase.client.HConnectionManager.createConnection(HConnectionManager.java:457) 
    ... 30 more 
Caused by: java.lang.NoClassDefFoundError: org/cloudera/htrace/Trace 
    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:218) 
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:481) 
    at org.apache.hadoop.hbase.zookeeper.ZKClusterId.readClusterIdZNode(ZKClusterId.java:65) 
    at org.apache.hadoop.hbase.client.ZooKeeperRegistry.getClusterId(ZooKeeperRegistry.java:83) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.retrieveClusterId(HConnectionManager.java:907) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:701) 
    ... 35 more 
Caused by: java.lang.ClassNotFoundException: org.cloudera.htrace.Trace 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 41 more 
================================================================================ 

、および:

REGISTER /usr/local/Cellar/pig/0.15.0/libexec/*.jar 
REGISTER /usr/local/Cellar/pig/0.15.0/libexec/lib/*.jar 
REGISTER /usr/local/Cellar/hbase/1.1.2/libexec/lib/*.jar 
REGISTER /usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/*.jar 
REGISTER /usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/common/lib/*.jar 
REGISTER /usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/*.jar 
REGISTER /usr/local/Cellar/hadoop/2.7.2/libexec/share/hadoop/mapreduce/lib/*.jar 
REGISTER /usr/local/Cellar/pig/0.15.0/libexec/lib/piggybank.jar 

--generated_data = LOAD 'tableHive' USING org.apache.hive.hcatalog.pig.HCatLoader(',') AS (level:chararray, score:INT, attraction:chararray); 

generated_data = LOAD 'CSVResults/ireland.csv' USING PigStorage(',') AS (level:chararray, score:INT, attraction:chararray); 
DUMP generated_data; 
fiveRating = FILTER generated_data BY (float)score>4; 

level6 = FILTER fiveRating BY (float)level>5; 

groupedbylevel = group level6 by attraction; 

countAttractions = FOREACH groupedbylevel { 
    level6Attractions = CROSS level6.level; 
    generate group, COUNT(level6Attractions) AS listBylevel6; 
}; 

orderlist = ORDER countAttractions BY listBylevel6 DESC; 

limitorder = LIMIT orderlist 20; 

STORE limitorder into 'Level6AttractionsIreland-limited2' using PigStorage(','); 

STORE countAttractions into 'hbase://Level6AttractionsIreland' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage('Ireland:level Ireland:score Ireland:attraction'); 
STORE countAttractions INTO 'Level6AttractionsIreland' USING org.apache.pig.backend.hadoop.hbase.HBaseStorage(','); 

、ここでは、豚のログファイルからのエラーです:ここに私の豚のコードがあります私はロードとストアのコマンド以外のすべてを削除して、それが原因であるかどうかを確認しましたが、同じ結果が得られます。私はまったく新しい豚ですので、これは愚かな間違いであり、私は答えを他の場所で検索しましたが、この段階で私のために働いていない謝罪します。また、私はHadoop、HBase、HiveがローカルにインストールされたMac上にいて、ターミナルに 'pig -x local test.pig'というコマンドを実行しています。どんなアドバイスもすばらしいでしょう、ありがとう!

+0

'原因:java.lang.NoClassDefFoundError:org/cloudera/htrace/Trace' ...あなたに何か意味がありますか? –

+0

あなたの返事をありがとう、正直言って、それのどれも本当にありません。私はclouderaのVMを一段階でインストールしましたが、私は大学のプロジェクトに使用するつもりでしたが、何かを壊してしまった場合に備えて、アンインストールすることについては心配です。 VMが問題を引き起こしていると思いますか?私はそのエラーを見ましたが、私が何を意味するのか知っていれば、それはエラーの最上位に近い何かによって引き起こされたと思いました。 – user5502557

+0

これはVMなので、何も破壊することはできません。スタックトレースのエラーの根本原因は、最下部にあります。それが「スタック」トレースと呼ばれる理由です。エラー後のものは、他のものの上に追加されます。 –

答えて

0

あなたの依存関係を取得した場所はわかりませんが、あなたのコードは存在しないClouderaパッケージを探しているため、エラーです。

Caused by: java.lang.ClassNotFoundException: org.cloudera.htrace.Trace 

私はちょうどbrew install hbaseでのHBaseをダウンロードして、正しいクラスファイルがそう/usr/local/Cellar/hbase/.../htrace-core-*.jar

org.apache.htrace.Traceに位置し、私はHBaseのライブラリの最新バージョンをダウンロードすることをお勧めします。

+0

こんにちは、私はHBaseをインストールしてこのjarファイルを登録しました。あなたが提案したように私はHBaseをアップグレードし、瓶を修正しましたが、まったく同じエラーが発生しています。 – user5502557

+0

Clouderaパッケージを探しているのとまったく同じですか?その場合、 'org.apache.pig.backend.hadoop.hbase.HBaseStorage'が問題になる可能性があります... Cloudera Quickstart VMを使って何が起こるか見てみましょうか? –

+0

こんにちは、私はCloudera VMを使用しないことにしました。私はこの段階ではかなりプロジェクトに取り組んでいます。しかし、あなたのすべてのお返事をありがとう、私はCSVファイルを使用し続けなければならないと思うし、データベースを忘れてしまいます。再度、感謝します。 – user5502557

関連する問題