Hadoop概述
开源分布式计算平台,以HDFS、MapReduce为核心,为用户提供了系统底层细节透明的分布式基础架构.
高容错、高伸缩
MR允许用户在不了解分布式系统底层细节的情况下开发并行应用程序,充分利用集群的计算和存储能力,完成海量数据的处理.
NameNode,元数据的管理者
DataNode
JobTracker
TaskTracker
数据分割Partition
把map任务输出的中间结果按key的范围划分成R份,划分时通常使用hash函数,这样可以保证某一范围内的key一定是由一个reduce任务来处理的,可以简化reduce的过程
数据合并Combine
在数据分割之前,还可以先对中间结果进行数据合并,即将中间结果中有相同key的<key,value>对合并成一对。Combine作为map任务的一部分,在执行完map函数后紧接着执行。Combine能够减少中间结果中<key,value>对的数据,从而降低网络流量