Cassandra 2.0.7 と hadoop 2.3.0 を 3 つのノードにインストールし、pig 0.13.0 を 3 つのノードの 1 つにインストールしました。cassandra には次のようなテーブルがあります。
CREATE TABLE sampletb (
a text,
b text,
c text,
d text,
e int,
PRIMARY KEY (a, b, c, d))
そして、以下のように豚のスクリプトをうなり声で実行します。
rows = LOAD 'cql://db/ sampletb USING CqlStorage();
grouprows= group rows by ($0,$1);
グループを実行すると、次のエラーが発生します。
2015-02-10 08:57:39,196 [メイン] エラー org.apache.pig.tools.grunt.Grunt - エラー 2998: 未処理の内部エラー。org.antlr.runtime.tree.BaseTree.insertChild(ILjava/lang/Object;)V ログファイルの詳細: /home/hadoopcluster/pig_1423545778153.log ログファイルの内容は次のとおりです。
豚のスタック トレース
エラー 2998: 未処理の内部エラー。org.antlr.runtime.tree.BaseTree.insertChild(ILjava/lang/Object;)V
java.lang.NoSuchMethodError: >org.antlr.runtime.tree.BaseTree.insertChild(ILjava/lang/Object;)V at org.apache.pig.parser.QueryParser.paren_expr(QueryParser.java:17532) at org.apache .pig.parser.QueryParser.cast_expr(QueryParser.java:17005) org.apache.pig.parser.QueryParser.multi_expr(QueryParser.java:15679) org.apache.pig.parser.QueryParser.expr(QueryParser.java) :15568) org.apache.pig.parser.QueryParser.real_arg(QueryParser.java:14634) で org.apache.pig.parser.QueryParser.join_group_by_clause(QueryParser.java:13663) で org.apache.pig.parser. org.apache.pig.parser.QueryParser.group_item_list(QueryParser.java:8721) の QueryParser.group_item(QueryParser.java:8889) org.apache.pig.parser.QueryParser.group_clause(QueryParser.java:8611) の org .apache.pig.parser.QueryParser.op_clause(QueryParser.java:7047) org.apache.pig.parser.QueryParser.general_statement(QueryParser.java:2314) org.apache.pig.parser.QueryParser.statement(QueryParser.java:1579) org.apache .pig.parser.QueryParser.query(QueryParser.java:395) の org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java:236) の org.apache.pig.parser.QueryParserDriver.parse(QueryParserDriver.java) :179) org.apache.pig.PigServer$Graph.validateQuery(PigServer.java:1684) で org.apache.pig.PigServer$Graph.registerQuery(PigServer.java:1657) で org.apache.pig.PigServer. org.apache.pig.tools.grunt.GruntParser.processPig(GruntParser.java:1069) の registerQuery(PigServer.java:600) org.apache.pig.tools.pigscript.parser.PigScriptParser.parse(PigScriptParser.java: 501) org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:228) の org.apache.pig.tools.grunt.GruntParser.parseStopOnError(GruntParser.java:203) の org.apache.pig.tools.grunt.Grunt.run(Grunt. java:66) org.apache.pig.Main.run(Main.java:542) で org.apache.pig.Main.main(Main.java:156) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブ メソッド) でorg の java.lang.reflect.Method.invoke(Method.java:606) でapache.hadoop.util.RunJar.main(RunJar.java:212)run(Grunt.java:66) at org.apache.pig.Main.run(Main.java:542) at org.apache.pig.Main.main(Main.java:156) at sun.reflect.NativeMethodAccessorImpl.invoke0 (ネイティブ メソッド) (sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で java.lang.reflect.Method.invoke(Method.java:606) ) org.apache.hadoop.util.RunJar.main(RunJar.java:212) でrun(Grunt.java:66) at org.apache.pig.Main.run(Main.java:542) at org.apache.pig.Main.main(Main.java:156) at sun.reflect.NativeMethodAccessorImpl.invoke0 (ネイティブ メソッド) (sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で java.lang.reflect.Method.invoke(Method.java:606) ) org.apache.hadoop.util.RunJar.main(RunJar.java:212) でorg.apache.hadoop.util.RunJar.main(RunJar.java:212) の lang.reflect.Method.invoke(Method.java:606)org.apache.hadoop.util.RunJar.main(RunJar.java:212) の lang.reflect.Method.invoke(Method.java:606)
私はウェブ上でたくさん検索しましたが、有用なものを見つけることができませんでした緊急に助けてください