2011-10-23 143 views
6

有沒有辦法輸出來記錄MapReduce作業的中間(Map Phase)輸出而不編輯應用程序? (該應用程序不是我的,但集羣是,並且我可以根據需要設置Hadoop集羣)Hadoop MapReduce中間輸出

+0

你能重新配置工作嗎? –

回答

8

keep.task.files.pattern參數可用於保留中間文件。一旦作業完成,中間文件必須手動清理。因爲這是一個map/reduce任務屬性,所以必須在配置文件中設置它,並再次打包jar文件。

+0

請你詳細說明一下嗎?我已經設置了這個參數,並且在輸出目錄以及mapred本地緩存中的任何地方都進行了搜索,但沒有任何地圖階段輸出... – ihadanny

+0

...我對$ {mapred.output.dir }/_暫時的,但我能找到的所有文件夾都是「_attempt_local_0003_r_000000」文件夾,從來沒有與其對應的「m」文件夾 – ihadanny

+0

我在'mapred'中將'keep.task.files.pattern'設置爲'。* 00000. *' -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)是讀取序列文件的示例代碼。你使用了什麼樣的模式? –