所在的位置: mysql >> mysql优势 >> HadoopHiveSpark之间是

HadoopHiveSpark之间是

先了解一下Hadoop、Hive、Spark三者的基本概念:

Hadoop是一个由Apache基金会所开发的分布式系统基础架构,主要就是解决数据存储和数据分析计算的问题(通过HDFS和MapReduce实现)。

Hive是基于Hadoop的数据仓库工具,可以存储,查询,分析数据,方便决策人员和数据分析人员统计分析白癜风。

Spark是一个基于内存计算的开源的集群计算系统,目的是让数据分析更加快速。

从Hadoop到大数据生态

广义上Hadoop指的是围绕Hadoop打造的大数据生态圈。

Hadoop对应于Google三驾马车:HDFS对应于GFS,即分布式文件系统,MapReduce即并行计算框架,HBase对应于BigTable,即分布式NoSQL列数据库,外加Zookeeper对应于Chubby,即分布式锁设施。

Hadoop发展史:

Hadoop之父:DougCutting

Hadoop起源于ApacheLucene子项目:Nutch,Nutch的设计目标是构建一个大型的全网搜索引擎。遇到瓶颈:如何解决数十亿网页的存储和索引问题

Google三篇论文

《TheGooglefilesystem》:谷歌分布式文件系统GFS

《MapReduce:SimpliiedDataProcessingonLargeClusters》:谷歌分布式计算框架MapReduce

《Bigtable:ADistributedStorageSystemforStructuredData》:谷歌结构化数据存储系统

变化:

①在Hadoop1.x时代,Hadoop中的MapReduce同时处理业务逻辑运算和资源的调度,耦合性较大。

②在Hadoop2.x时代,增加了Yarn。Yarn只负责资源的调度,MapReduce只负责运算。

③Hadoop3.x在组成上没有什么变化。

现状:

HDFS作为分布式文件存储系统,处在生态圈的底层与核心地位;

YARN作为分布式通用的集群资源管理系统和任务调度平台,支撑各种计算引擎运行,保证了Hadoop地位;

MapReduce作为大数据生态圈第一代分布式计算引擎,由于自身设计的模型所产生的弊端,导致企业一线几乎不再直接使用MapReduce进行编程处理,但是很多软件的底层依然在使用MapReduce引擎来处理数据。

大数据技术生态体系

Sqoop:Sqoop是一款开源的工具,主要用于在Hadoop、Hive与传统的数据库(MySQL)间进行数据的传递,可以将一个关系型数据库(例如:MySQL,Oracle等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。

Flume:Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据;

Kafka:Kafka是一种高吞吐量的分布式发布订阅消息系统

Spark:Spark是当前最流行的开源大数据内存计算框架。可以基于Hadoop上存储的大数据进行计算。

Flink:Flink是当前最流行的开源大数据内存计算框架。用于实时计算的场景较多。

Oozie:Oozie是一个管理Hadoop作业(job)的工作流程调度管理系统。

Hbase:HBase是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

Hive:Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运行。其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。

ZooKeeper:它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。




转载请注明:http://www.aierlanlan.com/grrz/8174.html