Hadoop主要由HDFS + YARN + MapReduce三个核心组件组成,HDFS是一个文件系统,负责分布式存储;YARN是Hadoop自带的一个通用的资源管理框架,用来对跑在集群上的Application进行资源分配及管理;MapReduce是一个分布式计算框架,跑在YARN上,配合HDFS用来做分布式数据计算。
Spark是一个分布式计算框架,相当于MapReduce的改进版,支持基于内存的迭代计算,大多数情况下Spark要搭配Hadoop来处理HDFS上的数据。
Hadoop里面有MapReduce, HDFS和Yarn。Spark只是个计算框架,比较对象应该是MapReduce。
Hadoop能够做什么?
不管是国外的著名公司Google、Yahoo!、微软、亚马逊、 EBay、FaceBook、Twitter、LinkedIn等和初创公司Cloudera、Hortonworks等,又还是国内的著名公司中国移动、阿里巴巴、华为、腾讯、百度、网易、京东商城等,都在使用Hadoop及相关技术解决大规模化数据问题,以满足公司需求和创造商业价值。
“Hadoop能做什么?” ,概括如下:
1)搜索引擎:这也正是Doug Cutting设计Hadoop的初衷,为了针对大规模的网页快速建立索引;
2)大数据存储:利用Hadoop的分布式存储能力,例如数据备份、数据仓库等;
3)大数据处理:利用Hadoop的分布式处理能力,例如数据挖掘、数据分析等;
4)科学研究:Hadoop是一种分布式的开源框架,对于分布式系统有很大程度地参考价值。
Hadoop核心Hadoop的核心就是HDFS和MapReduce,而两者只是理论基础,不是具体可使用的高级应用,Hadoop旗下有很多经典子项目,比如Hbase、Hive等,这些都是基于HDFS和MapReduce发展出来的。要想了解Hadoop,就必须知道HDFS和MapReduce是什么。
HDFS
HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),它是一个高度容错性的系统,适合部署在廉价的机器上。HDFS能提供高吞吐量的数据访问,适合那些有着超大数据集(large data set)的应用程序。
MapReduce
MapReduce是一套从海量源数据提取分析元素最后返回结果集的编程模型,将文件分布式存储到硬盘是第一步,而从海量数据中提取分析我们需要的内容就是MapReduce做的事了。
MapReduce的基本原理就是:将大的数据分析分成小块逐个分析,最后再将提取出来的数据汇总分析,最终获得我们想要的内容。当然怎么分块分析,怎么做Reduce操作非常复杂,Hadoop已经提供了数据分析的实现,我们只需要编写简单的需求命令即可达成我们想要的数据。
MapReduce Write Data to HDFS
网友评论