Hadoop大数据框架的发展历程?
一、Hadoop大数据框架的发展历程?
Hadoop的主要发展历程:
· 2008年1月,Hadoop成为Apache顶级项目。
· 2008年6月,Hadoop的第一个SQL框架——Hive成为了Hadoop的子项目。
· 2009年7月 ,MapReduce 和 Hadoop Distributed File System (HDFS) 成为Hadoop项目的独立子项目。
· 2009年7月 ,Avro 和 Chukwa 成为Hadoop新的子项目。
· 2010年5月 ,Avro脱离Hadoop项目,成为Apache顶级项目。
· 2010年5月 ,HBase脱离Hadoop项目,成为Apache顶级项目。
· 2010年9月,Hive脱离Hadoop,成为Apache顶级项目。
· 2010年9月,Pig脱离Hadoop,成为Apache顶级项目。
· 2010年-2011年,扩大的Hadoop社区忙于建立大量的新组件(Crunch,Sqoop,Flume,Oozie等)来扩展Hadoop的使用场景和可用性。
· 2011年1月,ZooKeeper 脱离Hadoop,成为Apache顶级项目。
· 2011年12月,Hadoop1.0.0版本发布,标志着Hadoop已经初具生产规模。
· 2012年5月,Hadoop 2.0.0-alpha版本发布,这是Hadoop-2.x系列中第一个(alpha)版本。与之前的Hadoop-1.x系列相比,Hadoop-2.x版本中加入了YARN,YARN成为了Hadoop的子项目。
· 2012年10月,Impala加入Hadoop生态圈。
· 2013年10月,Hadoop2.0.0版本发布,标志着Hadoop正式进入MapReduce v2.0时代。
· 2014年2月,Spark开始代替MapReduce成为Hadoop的默认执行引擎,并成为Apache顶级项目。
· 2017年12月,继Hadoop3.0.0的四个Alpha版本和一个Beta版本后,第一个可用的Hadoop 3.0.0版本发布。
二、hadoop中大数据研究的意义?
大数据时代:hadoop对大数据处理的意义
Hadoop得以在大数据处理应用中广泛应用得益于其自身在数据提取、变形和加载(ETL)方面上的天然优势。Hadoop的分布式架构,大数据处理引擎尽可能的靠近存储,对例如像ETL这样的批处理操作相对合适,因为类似这样操作的批处理结果可以直接走向存储。
Hadoop的MapReduce功能实现了将单个任务打碎,并将碎片任务发送(Map)到多个节点上,之后再以单个数据集的形式加载(Reduce)到数据仓库里。
但是对于Hadoop,特别是Hadoop分布式文件系统(HDFS)来说,大数据处理至少需要三份以支持数据的高可用性。对于TB级别的数据来说,HDFS看起来还是可行的,但当达到PB级别海量数据的时候,其带来的存储成本压力不可小觑。
三、Hadoop大数据框架的四个组成部分?
1、Hadoop 是一个能够对大量数据进行分布式处理的软件框架。具有可靠、高效、可伸缩的特点。 Hadoop的核心是HDFS和Mapreduce,hadoop2.0还包括YARN。 2、HDFS Hadoop的分布式文件系统。是Hadoop体系中数据存储管理的基础。它是一个高度容错的系统,能检测和应对硬件故障,用于在低成本的通用硬件上运行。HDFS简化了文件的一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序。 3、MapReduce(分布式计算框架) MapReduce是一种计算模型,用以进行大数据量的计算。其中Map对数据集上的独立元素进行指定的操作,生成键-值对形式中间结果。Reduce则对中间结果中相同“键”的所有“值”进行规约,以得到最终结果。MapReduce这样的功能划分,非常适合在大量计算机组成的分布式并行环境里进行数据处理。 4、Hive(基于Hadoop的数据仓库)Hive定义了一种类似SQL的查询语言(HQL),将SQL转化为MapReduce任务在Hadoop上执行。通常用于离线分析。
四、hadoop和mangoDb用作大数据分析哪个更好?
1,hadoop是大数据分析的完整生态系统,从数据采集,存储,分析,转运,再到页面展示,构成了整个流程采集可以用flume,存储用hbase,hdfs,mangodb就相当于hbase,分析用Mapreduce自己写算法,还有hive做数据仓库,pig做数据流处理,转储方面有sqoop,可以将hdfs中的数据转换存储到mysql,oracle等传统数据库,这就构成了一整套大数据分析的整个流程
2,mangodb只是充当存储功能,是一款nosql数据库,支持以json的格式存储
3,所以从功能上来讲,hadoop和mangodb是不一样的,hadoop中可以用mangodb替换hbase,但是mangodb不能替换hadoop,一个是完整的生态系统,一个是数据库,两个不一样的概念
4,至于选择用mangodb还是hbase,各有优劣,不过使用较多的还是hbase,mangodb社区没有hbase活跃,所以还是hbase吧