0

これは、マップ タスクに関する Hadoop Web UI で見ました

Total Length = 67108863
Input split[0]:
   Length = 48334
  Locations:

-----------------------
Input split[1]:
   Length = 48334
  Locations:

-----------------------
Input split[2]:
   Length = 48304
  Locations:

...

-----------------------
Input split[2010]:
   Length = 23388
  Locations:

-----------------------
Input split[2011]:
   Length = 23383
  Locations:

-----------------------

私は豚を使用していますが、効率のために豚が小さな入力ファイルを pig.maxCombinedSplitSize まで結合することを知っています

わかりました...しかし、豚の実行エンジンはすべての入力ファイルをサイズで「ソート」し、それらをマップタスク用に64MBブロックに結合しているようです。

システム開発者が当時 Hadoop を使用する可能性を考慮していなかったため、現在、テスト データ用に数百万のファイルと実サーバーに数億のファイルがあるため、これは大きな問題を引き起こすと思います。

小さい入力ファイルを実サーバーで結合する方法がないので、PIG でなんとかする必要があります。ソートプロセスは絶対に不要であり、削除する必要があると思います. だから私は今、そのプロセスがPIGソースコードのどこに存在するかを見つけようとしていますが、それを行うのは困難です.

結合時に PIG が小さな入力ファイルをソートする理由と、ソースコードのその部分がどこにあるかを知っている人はいますか?

4

1 に答える 1