Hadoop的体系结构 从上面的介绍可以看出,HDFS和 Mapreduce共同组成了 Hadoop 分布式系统体系结构的核心。HDFS在集群上实现了分布式文件系统, MapReduce在集群上实现了分布式计算和任务处理。HDFS在 Mapreduce任务处理过程中提供了文件操作和存储等支持, Mapreduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作, 并收集结果,二者相互作用,完成了 Hadoop分布式集群的主要任务。 《大数据技术基础》
《大数据技术基础》 Hadoop的体系结构 从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop 分布式系统体系结构的核心。HDFS在集群上实现了分布式文件系统, MapReduce 在集群上实现了分布式计算和任务处理。HDFS在 MapReduce任务处理过程中提供了文件操作和存储等支持, MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作, 并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务
Hadoop与分布式开发 Hadoop上的并行应用程序开发是基于 Map Reduce编程框架的 MapReduce编程模型的原理是:利用一个输入的key/ value对集合来产 生一个输出的key/ value对集合。 Mapreduce库的用户用两个函数来表 达这个计算:Map和 Reduce 用户自定义的map函数接收一个输入的 key/value对,然后产生 个中间 key/value对的集合。 MapReduce把所有具有相同key值的 value集合在一起,然后传递给 reduce函数。用户自定义的 reduce函数 接收key和相关的 value集合。 reduce函数合并这些 value值,形成 个较小的vaue集合。一般来说,每次 reduce函数调用只产生0或1个 输出的 value值。通常我们通过一个迭代器把中间的 value值提供给 reduce函数,这样就可以处理无法全部放入内存中的大量的 value值集 《大数据技术基础》
《大数据技术基础》 Hadoop与分布式开发 Hadoop上的并行应用程序开发是基于MapReduce 编程框架的。 MapReduce 编程模型的原理是:利用一个输入的key/value 对集合来产 生一个输出的key/value 对集合。MapReduce库的用户用两个函数来表 达这个计算:Map 和Reduce。 用户自定义的map函数接收一个输入的key/value 对,然后产生一 个中间key/value 对的集合。MapReduce 把所有具有相同key 值的 value 集合在一起,然后传递给reduce 函数。用户自定义的reduce 函数 接收key 和相关的value 集合。reduce 函数合并这些value 值,形成一 个较小的value 集合。一般来说,每次reduce 函数调用只产生0 或1 个 输出的value值。通常我们通过一个迭代器把中间的value 值提供给 reduce 函数,这样就可以处理无法全部放入内存中的大量的value 值集 合了
Hadoop与分布式开发 下图是 Mapreduce的数据流图,这个过程简而言之就是将大数 据集分解为成百上千个小数据集,每个(或若干个)数据集分别由集群 中的一个节点(一般就是一台普通的计算机)进行处理并生成中间结果 ,然后这些中间结果又由大量的节点合并,形成最终结果。图8-4也指 出了 Mapreduce框架下并行程序中的三个主要函数:map、 reduce、 main。在这个结构中,需要用户完成的工作仅仅是根据任务编写map 和 reduce两个函数。 输入数据 排序排序合并 输出数据 数据片段>m- >mahout reduce- Ireduce-out-数据片段)HDF副本 数据片段→>mp-)m |- reduce- reduce-oud-x数片段>HDS副本 数据片段→m甲-→mu→ 《大数据技术基础》
《大数据技术基础》 Hadoop与分布式开发 下图是MapReduce 的数据流图,这个过程简而言之就是将大数 据集分解为成百上千个小数据集,每个(或若干个)数据集分别由集群 中的一个节点(一般就是一台普通的计算机)进行处理并生成中间结果 ,然后这些中间结果又由大量的节点合并,形成最终结果。图8-4也指 出了MapReduce 框架下并行程序中的三个主要函数:map、reduce、 main。在这个结构中,需要用户完成的工作仅仅是根据任务编写map 和reduce 两个函数