0

概要:hadoopストリーミングで書き込まれた後に各出力ファイルで実行されるアクションを指定できますか?

基本的に、これは、hadoopmapreduce質問の​​出力をzipする最も簡単で効率的な方法のフォローアップです。キーごとにX、その値をファイルに書き込み、アーカイブX.txtに圧縮したいと思います。X.zipしかし、zip出力ストリームを作成する場合、結果のファイルのキーや名前について何かを伝えるのは難しいため、X.zipアーカイブに。が含まれることになりますdefault-name.txt

アーカイブの内容の名前を変更するのは非常に簡単な操作ですが、どこに配置できますか?私がやりたくないのは、S3からすべてのzipをダウンロードして、その時点でアップロードすることです。

4

1 に答える 1

1

カスタムMultipleOutputFormatの使用を検討してください:
基本的なユースケース:

  • このクラスは、少なくとも1つのレデューサーを使用したマップリデュースジョブに使用されます。レデューサーは、実際のキーに応じて異なるファイルにデータを書き込みたいと考えています。キー(または値)は、実際のキー(値)と実際のキー(値)の目的の場所をエンコードすると想定されています。

  • このクラスは、マップのみのジョブに使用されます。ジョブは、入力データの入力ファイル名の一部であるか、またはその派生である出力ファイル名を使用したいと考えています。

  • このクラスは、マップのみのジョブに使用されます。ジョブは、キーと入力ファイル名の両方に依存する出力ファイル名を使用したいと考えています

どのキーがどのレデューサー(Partitioner)に行くかを制御することもできます

于 2012-08-24T08:44:47.427 に答える