Hadoop是什么?

来源:互联网 发布:数据库的导入导出操作 编辑:程序博客网 时间:2024/05/06 12:16

欢迎访问 博客新址:   http://zhangxuezhi.com/archives/



        Hadoop是Apache软件基金会管理的开源软件平台。Hadoop是在分布式服务器集群上存储海量数据并运行分布式计算的一种方法。两个词概括它:分布式存储(HDFS)+分布式计算(MapReduce)。

        Apache正式定义:Apache Hadoop软件库是一个框架,允许在集群服务器上使用简单的编程模型对大数据集进行分布式处理。Hadoop被设计成能够从单台服务器扩展到数以千计的服务器,每台服务器都有本地的计算和存储资源。Hadoop的高可用性并不依赖硬件,其代码库自身就能在应用层侦测并处理硬件故障,因此能基于服务器集群提供高可用性的服务。

        Hadoop并不是一个真正意义上的数据库:它能存储和抽取数据,但并没有查询语言介入。Hadoop更多是一个数据仓库系统,所以需要MapReduce这样的系统来进行真正的数据处理。

        MapRduce运行一系列任务,其中每项任务都是单独的Java进程,能够访问数据并抽取有用信息。使用MapReduce而不是查询语言让Hadoop数据分析的功能更加强大和灵活,但同时也导致技术复杂性大幅增加。

        MapReduce的复杂性和局限性(单任务批处理)使得Hadoop在更多情况下都被作为数据仓库使用而非数据分析工具。

        Hadoop的另外一个独特之处是:所有的功能都是分布式的,而不是传统数据库的集中式系统。

        在Hadoop中实现了Google的MapReduce算法,它能够把应用程序分割成许多很小的工作单元,每个单元可以在任何集群节点上执行或重复执行。此外,Hadoop还提供一个分布式文件系统用来在各个计算节点上存储数据,并提供了对数据读写的高吞吐率。由于应用了map/reduce和分布式文件系统使得Hadoop框架具有高容错性,它会自动处理失败节点。

        作为大数据分析应用的代名词,Hadoop的流行其实与数据分析无关。实际上大多数采用Hadoop的公司都没有将Hadoop用于大数据分析,而是把Hadoop作为一种廉价的海量存储和ETL(抽取、转换、加载)系统。

        企业采用Hadoop需要经历三个发展阶段,从一开始用来存储海量数据,到对数据进行处理和转换,到最终开始分析这些数据。

 

        总之,一句话,Hadoop == 分布式数据存储(HDFS)+分布式数据处理(MapReduce)

 

参考:

        Hadoop到底是什么玩意?

        Hadoop目前只是“穷人的ETL”

1 0
原创粉丝点击