0

私はAmazonのElasticMap-ReduceでPigを使用してバッチ分析を行っています。私の入力ファイルはS3にあり、1行に1つのJSONディクショナリで表されるイベントが含まれています。elephantbirdJsonLoaderライブラリを使用して入力ファイルを解析します。ここまでは順調ですね。

インタラクティブなPigセッションでローカルファイルシステムまたはhdfsに保存されている大きなファイルの処理で問題が発生しています。入力ファイルが分割されるのに十分な大きさである場合、分割の1つだけがelephantbirdによって処理され、分割の最後にエラーメッセージなしで処理が停止するように見えます。S3からの入力をストリーミングする場合(S3入力でファイルが分割されない場合)、またはファイルをPigが直接読み取り可能な形式に変換する場合、同じ問題は発生しません。

具体的な例として、833,138行のファイルは379,751行までしか処理されません(Pigで完了率を見ると、50%までスムーズに進み、その後100%にジャンプします)。また、400,000行のファイルを試してみたところ、正常に処理されました。

だから私の質問は:なぜ象の鳥によって1つの分割だけが処理されるのですか?インタラクティブモードのPigがどのように機能するのか誤解していますか、それとも何かひどく間違っていることがありますか?

4

1 に答える 1

0

Katia さん、Pig のユーザー リストにメールを送信すると、より迅速にヘルプが得られます :)。

Pig 0.8.1 (現在のリリース) を試してみて、それでもエラーが発生する場合はお知らせください。価値があるのは、EB Jsonローダーを100ギグファイルで1年以上使用しており、それらが正常に処理されているため、データに何かがある可能性があることです.

Spike Gronim -- これは修正されました。ローカル モードは現在、非ローカル モードとほとんど同じです (分散キャッシュや歪んだ結合などを除く)。アップグレードします。

于 2011-07-15T14:13:00.543 に答える