私は長い間この問題に直面してきました。これを解決しようとしましたが、できませんでした。これを解決するには、専門家のアドバイスが必要です。
サンプルのツイート json ファイルを読み込もうとしています。
sample.json;-
{"filter_level":"low","retweeted":false,"in_reply_to_screen_name":"FilmFan","truncated":false,"lang":"en","in_reply_to_status_id_str":null,"id":689085590822891521,"in_reply_to_user_id_str":"6048122","timestamp_ms":"1453125782100","in_reply_to_status_id":null,"created_at":"Mon Jan 18 14:03:02 +0000 2016","favorite_count":0,"place":null,"coordinates":null,"text":"@filmfan hey its time for you guys follow @acadgild To #AchieveMore and participate in contest Win Rs.500 worth vouchers","contributors":null,"geo":null,"entities":{"symbols":[],"urls":[],"hashtags":[{"text":"AchieveMore","indices":[56,68]}],"user_mentions":[{"id":6048122,"name":"Tanya","indices":[0,8],"screen_name":"FilmFan","id_str":"6048122"},{"id":2649945906,"name":"ACADGILD","indices":[42,51],"screen_name":"acadgild","id_str":"2649945906"}]},"is_quote_status":false,"source":"<a href=\"https://about.twitter.com/products/tweetdeck\" rel=\"nofollow\">TweetDeck<\/a>","favorited":false,"in_reply_to_user_id":6048122,"retweet_count":0,"id_str":"689085590822891521","user":{"location":"India ","default_profile":false,"profile_background_tile":false,"statuses_count":86548,"lang":"en","profile_link_color":"94D487","profile_banner_url":"https://pbs.twimg.com/profile_banners/197865769/1436198000","id":197865769,"following":null,"protected":false,"favourites_count":1002,"profile_text_color":"000000","verified":false,"description":"Proud Indian, Digital Marketing Consultant,Traveler, Foodie, Adventurer, Data Architect, Movie Lover, Namo Fan","contributors_enabled":false,"profile_sidebar_border_color":"000000","name":"Bahubali","profile_background_color":"000000","created_at":"Sat Oct 02 17:41:02 +0000 2010","default_profile_image":false,"followers_count":4467,"profile_image_url_https":"https://pbs.twimg.com/profile_images/664486535040000000/GOjDUiuK_normal.jpg","geo_enabled":true,"profile_background_image_url":"http://abs.twimg.com/images/themes/theme1/bg.png","profile_background_image_url_https":"https://abs.twimg.com/images/themes/theme1/bg.png","follow_request_sent":null,"url":null,"utc_offset":19800,"time_zone":"Chennai","notifications":null,"profile_use_background_image":false,"friends_count":810,"profile_sidebar_fill_color":"000000","screen_name":"Ashok_Uppuluri","id_str":"197865769","profile_image_url":"http://pbs.twimg.com/profile_images/664486535040000000/GOjDUiuK_normal.jpg","listed_count":50,"is_translator":false}}
ELEPHANT BIRDを使用してこの json ファイルを読み込もうとしました
脚本:-
REGISTER json-simple-1.1.1.jar
REGISTER elephant-bird-2.2.3.jar
REGISTER guava-11.0.2.jar
REGISTER avro-1.7.7.jar
REGISTER piggybank-0.12.0.jar
twitter = LOAD 'sample.json' USING com.twitter.elephantbird.pig.load.JsonLoader();
B = foreach twitter generate (chararray)$0#'created_at' as created_at,(chararray)$0#'id' as id,(chararray)$0#'id_str' as id_str,(chararray)$0#'text' as text,(chararray)$0#'source' as source,com.twitter.elephantbird.pig.piggybank.JsonStringToMap($0#'entities') as entities,(boolean)$0#'favorited' as favorited;
describe B;
出力:-
B: {created_at: chararray,id: chararray,id_str: chararray,text: chararray,source: chararray,entitis: map[chararray],favorited: boolean}
しかし、Bをダンプしようとすると、次のエラーが発生しました
エラー org.apache.pig.tools.grunt.Grunt - エラー 1066: エイリアス B のイテレータを開けません
ここで完全なログを提供しています。
199 [メイン] 情報 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.JobControlCompiler - 単一ストア ジョブの設定 2016-09-11 14:07:57,199 [メイン] 情報 org.apache.pig.data.SchemaTupleFrontend -キー [pig.schematuple] が false の場合、コードは生成されません。2016-09-11 14:07:57,199 [main] INFO org.apache.pig.data.SchemaTupleFrontend - 生成されたコードを分散キャッシュに移動するプロセスの開始 2016-09-11 14:07:57,199 [main] INFO org.apache .pig.data.SchemaTupleFrontend - 分散キャッシュはサポートされていないか、ローカル モードでは必要ありません。コード一時ディレクトリでキー [pig.schematuple.local.dir] を設定: /tmp/1473583077199-0 2016-09-11 14:07:57,206 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer. MapReduceLauncher - 1 つの map-reduce ジョブが送信待ちです。2016-09-11 14:07:57,207 [JobControl] INFO org.apache.WARN org.apache.hadoop.mapreduce.JobResourceUploader - ジョブ jar ファイルが設定されていません。ユーザー クラスが見つからない可能性があります。Job または Job#setJar(String) を参照してください。2016-09-11 14:07:57,211 [JobControl] INFO org.apache.hadoop.mapreduce.lib.input.FileInputFormat - プロセスへの合計入力パス: 1 2016-09-11 14:07:57,211 [JobControl] INFO org .apache.pig.backend.hadoop.executionengine.util.MapRedUtil - プロセスへの合計入力パス (結合) : 1 2016-09-11 14:07:57,212 [JobControl] INFO org.apache.hadoop.mapreduce.JobSubmitter - 番号分割数:1 2016-09-11 14:07:57,216 [JobControl] INFO org.apache.hadoop.mapreduce.JobSubmitter - ジョブのトークンを送信: job_local360376249_0009 2016-09-11 14:07:57,267 [JobControl] INFO org. apache.hadoop.mapreduce.Job - ジョブを追跡する URL: http://localhost:8080/288 [LocalJobRunner Map Task Executor #0] INFO org.apache.pig.data.SchemaTupleBackend - キー [pig.schematuple] が設定されていません...コードを生成しません。2016-09-11 14:07:57,290 [LocalJobRunner Map Task Executor #0] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigMapOnly$Map - ジョブ フェーズごとに処理されるエイリアス (AliasName[行、オフセット] ): M: twitter[20,10],B[21,4] C: R: 2016-09-11 14:07:57,291 [Thread-214] INFO org.apache.hadoop.mapred.LocalJobRunner - マップタスク実行者完了。2016-09-11 14:07:57,296 [スレッド-214] PigMapOnly$Map - ジョブ フェーズごとに処理されるエイリアス (AliasName[line,offset]): M: twitter[20,10],B[21,4] C: R: 2016-09-11 14:07:57,291 [Thread -214] INFO org.apache.hadoop.mapred.LocalJobRunner - マップ タスク エグゼキュータが完了しました。2016-09-11 14:07:57,296 [スレッド-214] PigMapOnly$Map - ジョブ フェーズごとに処理されるエイリアス (AliasName[line,offset]): M: twitter[20,10],B[21,4] C: R: 2016-09-11 14:07:57,291 [Thread -214] INFO org.apache.hadoop.mapred.LocalJobRunner - マップ タスク エグゼキュータが完了しました。2016-09-11 14:07:57,296 [スレッド-214]警$Job.runTasks(LocalJobRunner.java:462) org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522) で原因: java.lang.IncompatibleClassChangeError: インターフェース org.apache.hadoop.mapreduce.Counter が見つかりましたが、クラスは com.twitter で予期されていました.elephantbird.pig.util.PigCounterHelper.incrCounter(PigCounterHelper.java:55) com.twitter.elephantbird.pig.load.LzoBaseLoadFunc.incrCounter(LzoBaseLoadFunc.java:70) at com.twitter.elephantbird.pig.load.JsonLoader .getNext(JsonLoader.java:130) org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.PigRecordReader.nextKeyValue(PigRecordReader.java:204) org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask) .java:556) org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80) で org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context で。org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:145) の nextKeyValue(WrappedMapper.java:91) org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:787) の org.apache org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243) の .hadoop.mapred.MapTask.run(MapTask.java:341) java.util.concurrent.Executors$RunnableAdapter.call の(Executors.java:511) で java.util.concurrent.FutureTask.run(FutureTask.java:266) で java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) で java.util.concurrent.ThreadPoolExecutor$ Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) 2016-09-11 14:07:57,467 [メイン] INFO org.apache.pig.backend.hadoop.executionengine .mapReduceLayer.MapReduceLauncher - HadoopJobId: job_local360376249_0009 2016-09-11 14:07:57、467 [メイン] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 処理エイリアス B、Twitter 2016-09-11 14:07:57,467 [メイン] INFO org.apache.pig.backend.hadoop. executionengine.mapReduceLayer.MapReduceLauncher - 詳細な場所: M: twitter[20,10],B[21,4] C: R: 2016-09-11 14:07:57,468 [main] INFO org.apache.pig.backend. hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 0% 完了 2016-09-11 14:07:57,468 [メイン]mapReduceLayer.MapReduceLauncher - 0% 完了 2016-09-11 14:07:57,468 [メイン]mapReduceLayer.MapReduceLauncher - 0% 完了 2016-09-11 14:07:57,468 [メイン]警告 org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - おっと! 一部のジョブが失敗しました。失敗時に Pig をすぐに停止する場合は、-stop_on_failure を指定します。2016-09-11 14:07:57,468 [メイン] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - ジョブ job_local360376249_0009 が失敗しました! すべての依存ジョブの実行を停止します 2016-09-11 14:07:57,468 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 100% 完了 2016-09-11 14:07:57,469 [main] ] INFO org.apache.hadoop.metrics.jvm.JvmMetrics - JVM メトリクスを processName=JobTracker、sessionId= で初期化できません - 既に初期化されています 2016-09-11 14:07:57,469 [main] INFO org.apache.hadoop.metrics. jvm.JvmMetrics - processName=JobTracker、sessionId= で JVM メトリクスを初期化できません - 既に初期化されています(s) 失敗しました! 2016-09-11 14:07:57,470 [メイン] INFO org.apache.pig. tools.pigstats.mapreduce.SimplePigStats - スクリプト統計: HadoopVersionPigVersionUserIdStartedAtFinishedAtFeatures 2.7.1.2.3.4.7-40.15.0.2.3.4.7-4root2016-09-11 14:07:572016-09-11 14:07:57UNKNOWN 失敗! 失敗したジョブ: JobIdAliasFeatureMessageOutputs job_local360376249_0009B、twitterMAP_ONLYMessage: ジョブが失敗しました!ファイル:/tmp/temp252944192/tmp-470484503、入力: "file:///root/PIG/PIG/sample.json" からデータを読み取れませんでした 出力( s): 「ファイル:/tmp/temp252944192/tmp-470484503」で結果を生成できませんでした0 ジョブ DAG: job_local360376249_0009 HadoopVersionPigVersionUserIdStartedAtFinishedAtFeatures 2.7.1.2.3.4.7-40.15.0.2.3.4.7-4root2016-09-11 14:07:572016-09-11 14:07:57UNKNOWN 失敗しました! 失敗したジョブ: JobIdAliasFeatureMessageOutputs job_local360376249_0009B、twitterMAP_ONLYMessage: ジョブが失敗しました!ファイル:/tmp/temp252944192/tmp-470484503、入力: "file:///root/PIG/PIG/sample.json" からデータを読み取れませんでした 出力( s): 「ファイル:/tmp/temp252944192/tmp-470484503」で結果を生成できませんでした0 ジョブ DAG: job_local360376249_0009 HadoopVersionPigVersionUserIdStartedAtFinishedAtFeatures 2.7.1.2.3.4.7-40.15.0.2.3.4.7-4root2016-09-11 14:07:572016-09-11 14:07:57UNKNOWN 失敗しました! 失敗したジョブ: JobIdAliasFeatureMessageOutputs job_local360376249_0009B、twitterMAP_ONLYMessage: ジョブが失敗しました!ファイル:/tmp/temp252944192/tmp-470484503、入力: "file:///root/PIG/PIG/sample.json" からデータを読み取れませんでした 出力( s): 「ファイル:/tmp/temp252944192/tmp-470484503」で結果を生成できませんでした0 ジョブ DAG: job_local360376249_0009
また、jarファイルの使用方法を明確にしてください。
そして、使用するバージョンは何ですか。どのバージョンを使用するか非常に混乱しています。
Elephant Bird を使うと言う人もいれば、AVRO を使うと言う人もいます。しかし、私は両方とも機能していません。
助けてください。
モハン V