0

複数のマップ タスクを実行するテキスト ファイルで正しく動作する mr を開発しましたが、アーカイブでジョブを実行する必要があります。私の選択は bzip2 アーカイブです。このようなアーカイブを使用すると、私の仕事は 1 つのマップ タスクだけで機能します。

マップタスクを増やす方法を知っている人はいますか?

Hadoop バージョン: Hadoop 0.20.2-cdh3u5

異なるパラメータで mapred-site.xml を編集しようとしましたが、うまくいきませんでした。

4

2 に答える 2

0

このスレッドによると、MapReduceジョブでBzip2ファイルを分割可能( HADOOP-4012 )にするには、MAPREDUCE-830も必要です。MAPREDUCE-830はCDH3u5では利用できません。

于 2013-01-29T11:11:24.887 に答える
0

ファイルの大きさは?そして、あなたのブロックサイズは何ですか?Bzip2 は分割可能であるため、ファイル サイズがブロック サイズを超え、Bzip2 コーデックが正しく構成されている場合、ファイルは自動的に分割され、マップ タスクが自動的に増加します。

のプロパティはmapred-site.xml、ジョブの (中間) 出力を指定するためにあります。圧縮ファイルを入力として使用する場合は、これをcore-site.xmlusingで設定する必要がありますio.compression.codecs

また、もし私があなただったら、LZOを見ます。デフォルトでは、LZO アーカイブは分割可能ではありませんが、インデックスを作成して分割可能にする方法があります。LZO は Bzip2 に比べて圧縮率は低くなりますが、はるかに高速です。Bzip2 を使用して 32 GB のテキスト ファイルを圧縮しました。Bzip2 はファイルを 1.6GB に圧縮しましたが、6.5 時間かかりました。LZO を使用して同じことを行ったところ、5 GB のファイルが返されましたが、30 分で完了しました。減圧の差はさらに大きい。また、Bzip2 はより多くのメモリを使用します。

LZO ファイルをインデックス化する方法については、こちらをご覧ください: https://github.com/twitter/hadoop-lzo

于 2013-01-29T10:01:22.270 に答える