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