我本周有考试,我正在学习学习指南。我正在为这两个问题的答案而苦苦挣扎。我已经给我的教授发了电子邮件,但他还没有回复我,所以我想我会在这里尝试。有人知道这两个问题的答案吗?
-
为什么输入和输出通常"写入一次"或"不可变"文件?
-
MapReduce程序的结构是什么?
https://developer.yahoo.com/hadoop/tutorial/module4.html
相反,MapReduce中的所有数据元素都是不可变的,这意味着它们无法更新。如果在映射任务中更改输入(键、值)对,它不会反映在输入文件中;通信只能通过生成新的输出(键、值)对来实现,然后由Hadoop系统转发到下一阶段的执行。
上面链接中的这一段可能会有所帮助
您不能更改发送或接收的值,也不能更改该值。
映射操作返回与单个输入对象相关的新对象。
归约操作从其输入中聚合单个值。
map-reduce程序可以同时做到这两点。