为什么输入和输出通常是“一次写入”或“不可变”文件?另外MapReduce程序的结构是什么?

时间:2015-03-11 18:21:06

标签: hadoop mapreduce

本周我参加了考试,我正在阅读学习指南。我正在努力解决这两个问题的答案。我已经给我的教授发了电子邮件,但他还没有回复我,所以我想我会在这里试试。有人知道这两个问题的答案吗?

  • 为什么输入和输出通常是“一次写入”或“不可变”文件?

  • MapReduce程序的结构是什么?

2 个答案:

答案 0 :(得分:0)

https://developer.yahoo.com/hadoop/tutorial/module4.html

相反,MapReduce中的所有数据元素都是不可变的,这意味着它们无法更新。如果在映射任务中更改输入(键,值)对,则它不会反映在输入文件中;通信只发生新的输出(密钥,值)对,然后由Hadoop系统转发到下一个执行阶段。

以上链接中的这一段可能会有所帮助

答案 1 :(得分:-1)

您无法更改发送或接收的值,也无法更改值。

map 操作返回与单个输入对象相关的新对象。

reduce 操作会聚合其输入中的单个值。

map-reduce程序可以同时执行这两项操作。