Hadoop是根据Google三大论文为基础研发的,Google 三大论文分别是: MapReduce、 GFS和BigTable。
Hadoop的核心是两个部分:
一、分布式存储(HDFS,Hadoop Distributed File System)。
二、分布式计算(MapReduce)。
MapReduce
MapReduce是“ 任务的分解与结果的汇总”。
Map把数据切分——分布式存放、计算。
Reduce把分布计算得到的结果进行整合,汇总(Shuffle)得出最终的结果。
MapReduce是一种“分治”计算思想,把一个大任务分割成许多小单元,最后再将每个小任务单元结果汇总,求得最终结果。
HDFS
HDFS把文件切分成block块进行存储(默认block大小尺寸为128m),然后这些block块被复制到多个计算机中(DataNode)。这有一个容错机制,副本策略,默认一块数据会有三个block,当前机器存储一份(数据本地化),另外一个机架存储一份,该机架的不同机器存储一份。
Hadoop在处理大数据时候特别需要注意:
1、 非常适合处理超大规模的数据集(TB,PB量级),非常不适合处理大量小文件。
2、 Hadoop一次写入,多次读写。Hadoop不支持随机修改文件。
3、Hadoop数据处理高延迟,数据的实时性不高。原因很显然,因为处理的数据规模非常大且是以分布式方式存储,读写访问需要花费更多时间。
Hadoop特点总结