mapreduce 作业中的中间键值对mapred.local.dir
在被打乱到将运行reduce 任务的tasktracker 节点之前被写入。
我知道HFDS 已针对写入大块数据进行了优化,因此与常规文件系统相比,可以最大限度地减少硬盘的寻道时间。
现在我很好奇 hadoop 是否也针对将中间 kev-value 对流式传输到本地文件系统进行了优化?
我问这个是因为我的应用程序的输入数据很少,但有大量的中间数据和中等大小的输出数据。hadoop 在我的情况下是有益的还是我应该考虑使用不同的框架?(请注意,我的软件与 WordCount 密切相关,但我发出的是所有子字符串而不是所有单词)
非常感谢您的帮助!
编辑:我重新表述了这个问题,因为乍一看,我给人的印象是中间 kv 对被发送到 HDFS,它们被发送到 tasktracker 节点的本地文件系统!