工欲善其事,必先利其器。像大数据这种多维度、高复杂度的东西,必须要有良好的平台来支撑。

Hadoop是什么?


Hadoop是一种分析和处理大数据的软件平台,是Appach的一个用Java语言所实现的开源软件的加框,在大量计算机组成的集群当中实现了对于海量的数据进行的分布式计算。

Hadoop的框架最核心的设计就是: HDFS和MapReduce.HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算.

大数据在Hadoop处理的流程可以参照下面简单的图来进行理解:数据是通过了Hadoop的集群处理后得到的结果。



HDFS:Hadoop Distributed File System,Hadoop的分布式文件系统.

大文件被分成默认64M一块的数据块分布存储在集群机器中.如下图中的文件 data1被分成3块,这3块以冗余镜像的方式分布在不同的机器中.



MapReduce:Hadoop为每一个input
split创建一个task调用Map计算,在此task中依次处理此split中的一个个记录(record),map会将结果以key–value
的形式输出,hadoop负责按key值将map的输出整理后作为Reduce的输入,Reduce Task的输出为整个job的输出,保存在HDFS上.



Hadoop的集群主要由 NameNode,DataNode,Secondary
NameNode,JobTracker,TaskTracker组成.如下图所示:

NameNode中记录了文件是如何被拆分成block以及这些block都存储到了那些DateNode节点.NameNode同时保存了文件系统运行的状态信息.
DataNode中存储的是被拆分的blocks.Secondary
NameNode帮助NameNode收集文件系统运行的状态信息.JobTracker当有任务提交到Hadoop集群的时候负责Job的运行,负责调度多个TaskTracker.TaskTracker负责某一个map或者reduce任务

作者强力推荐阅读文章:

大数据工程师必须掌握开源工具汇总 <http://www.ryxxff.com/2096.html>

大数据高级工程师教你如何读懂大数据核心技术 <http://www.ryxxff.com/2084.html>

顶级大数据工程师需要掌握的技能 <http://www.ryxxff.com/1356.html>

大数据、机器学习和人工智能未来发展的8个因素 <http://www.ryxxff.com/1353.html>


友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信