2011-10-23 14 views
6

アプリケーションを編集せずにMapReduceジョブの中間(マップフェーズ)出力をログ出力する方法はありますか? (アプリケーションは私のものではありませんが、クラスタは、私が望むようにHadoop Clusterをセットアップできます)Hadoop MapReduce中間出力

+0

ジョブを再設定できますか? –

答えて

8

keep.task.files.patternパラメータを使用して中間ファイルを保持することができます。ジョブが完了したら、中間ファイルを手動でクリーンアップする必要があります。これはmap/reduceタスクのプロパティなので、設定ファイルに設定し、jarファイルを再度パッケージ化する必要があります。

+0

詳細を教えていただけますか?私はこのパラメータを設定し、出力ディレクトリとマップされたローカルキャッシュ内のどこでも検索しますが、どこでもマップステージ出力はありません。 – ihadanny

+0

... $ {mapred.output.dir }/_一時的なものですが、 "_attempt_local_0003_r_000000"フォルダは縮小されていますが、 "m"の相手は決してありません – ihadanny

+0

'keep.task.files.pattern'を'。* 00000. * 'に' mapred -site.xml'に、 'core-site.xml'には' hadoop.tmp.dir'が '$ HADOOP_HOME \ tmp'に設定されています。ジョブを実行した後、file.outとfile.out.indexは '$ HADOOP_HOME/tmp/mapred/local/taskTracker/praveensripati/jobcache/job_201111031937_0001/attempt_201111031937_0001_m_000001_0/output'フォルダにあります。これらのファイルはSequenceFile形式です。 [Here](http://goo.gl/7fJzT)は、シーケンスファイルを読み込むためのサンプルコードです。どのパターンを使用しましたか? –