2011-07-07 13 views
0

10個のインスタンスを使用して20Gbの入力を処理する必要があると仮定します。 5Gbの4つの入力ファイルと比較して、2Gbの10個の入力ファイルを持つのと違いはありますか? 後者の場合、Amazon Elastic MapReduceは4つの入力ファイルの負荷を10のインスタンスに自動的に分散できますか? (私のマッパーはルビーを使って書かれているので、ストリーミング方法を使用しています)Amazon Elastic Map Reduce:入力断片サイズの問題がありますか

答えて

3

ファイルが分割可能かどうかだけです。

ファイルが圧縮されていないプレーンテキストまたはlzoで圧縮されている場合、Hadoopは分割を並べ替えます。

X5の2GBのファイルは、1ギガバイトのファイルが再び〜100分割になります

X10となり、再び〜100の分割、ひいては〜100マップタスク(10ギガバイト/ 128メガバイト(EMRのブロックサイズ)〜= 100)になります100のマップタスク。

ファイルがgzipまたはbzip2圧縮されている場合、Hadoop(少なくともEMRで実行されているバージョン)はファイルを分割しません。

X5の2GBのファイルは、5分割(及び再び従ってのみ5マップタスク)をもたらすであろう

X10の1GBのファイルは、10分割(及び再び従ってのみ10マップタスク)をもたらすであろう

マット

+0

分割は改行に基づいています。 –

+0

ストリームAPIとのスプリットフィットがどういうわけか... –

+0

スプリットサイズは、mapred.max.split.sizeに関して、行ではなくバイトに基づいています。 NLineInputFormatを使用している場合は、mapred.line.input.format.linespermapを使用して行数で「分割」を指定できます。詳細はhttp://www.scribd.com/doc/23046928/Hadoop-Performance-Tuningを参照してください。 –

関連する問題