第二章 MapReduce简介
一个理想的分片大小往往是一个HDFS块的大小;map任务的执行节点和输入数据的存储节点是同一节点,hadoop的性能达到最佳(数据局部性优化,避免数据网络传输)。
MapReduce流程概括:从文件中读入一行数据,map函数处理,返回键值对;系统对map结果进行排序,如果有多个reducer,map任务会对输出进行分区,为每个reduce任务创建一个分区。如果指定了combiner,map之后会先运行combiner,combiner的结果传递给reducer,combiner可以减少map与reduce之间的数据传输量。reducer首先需要对接收到的数据进行shuffle,之后运行reducer函数返回结果。(具体见2.4的讲解和图)想了解mapreduce代码可以看2.3.2的代码。
MapReduce流程概括:从文件中读入一行数据,map函数处理,返回键值对;系统对map结果进行排序,如果有多个reducer,map任务会对输出进行分区,为每个reduce任务创建一个分区。如果指定了combiner,map之后会先运行combiner,combiner的结果传递给reducer,combiner可以减少map与reduce之间的数据传输量。reducer首先需要对接收到的数据进行shuffle,之后运行reducer函数返回结果。(具体见2.4的讲解和图)想了解mapreduce代码可以看2.3.2的代码。
第三章 Hadoop分布式文件系统
具体见Hadoop 学习总结之一:HDFS简介(zz写的很不错)