Hadoop MapReduce中间输出

时间:2011-10-23 16:54:18

标签: logging hadoop mapreduce

有没有办法输出来记录MapReduce作业的中间(Map Phase)输出而不编辑Application? (该应用程序不是我的,但群集是,我可以按照自己的意愿设置Hadoop群集)

2 个答案:

答案 0 :(得分:8)

keep.task.files.pattern参数可用于保存中间文件。作业完成后,必须手动清理中间文件。因为这是map / reduce任务属性,所以必须在配置文件中设置它并再次打包jar文件。

答案 1 :(得分:0)

我不认为MR框架提供了保存中间地图输出文件的任何配置。即使存在这样的标志,它也不是很有用,因为:

地图生成的中间输出不能轻易读取/使用如下:
1)键值输出在写入中间文件之前被序列化 2)与键值对(密钥长度,值长度,分区#)相关的元数据也写入这些文件(此元数据为二进制格式)

这些中间文件的示例位置是:
a)中级中间文件(溢出输出):/ yarn /nm/usercache/root/appcache/application_1525687099554_0008/attempt_1525687099554_0008_m_000000_0_spill_0.out
b)最终中间文件(合并输出):  /yarn/nm/usercache/root/appcache/application_1525687099554_0008/output/attempt_1525687099554_0008_m_000001_0/file.out