加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Apache Hive VS Spark:差异目标,同样乐成

发布时间:2019-10-15 11:21:13 所属栏目:编程 来源:读芯术
导读:Hive和Spark依附其在处理赏罚大局限数据方面的上风大获乐成,换句话说,它们是做大数据说明的。本文重点叙述这两种产物的成长史和各类特征,通过对其手段的较量,来声名这两个产物可以或许办理的种种伟大数据处理赏罚题目。 什么是Hive? Hive是在Hadoop漫衍式文件体系

Hive和Spark依附其在处理赏罚大局限数据方面的上风大获乐成,换句话说,它们是做大数据说明的。本文重点叙述这两种产物的成长史和各类特征,通过对其手段的较量,来声名这两个产物可以或许办理的种种伟大数据处理赏罚题目。

Apache Hive VS Spark:差异目标,同样乐成

什么是Hive?

Hive是在Hadoop漫衍式文件体系上运行的开源漫衍式数据客栈数据库,用于查询和说明大数据。数据以表格的情势存储(就像相关数据库打点系同一样)。数据操纵可以行使名为HiveQL的SQL接口来执行。Hive在Hadoop之上引入了SQL成果,使其成为一个程度可扩展的数据库,是DWH情形的绝佳选择。

Hive成长史掠影

Hive(即其后的Apache)最初是由Facebook开拓的,开拓职员发明他们的数据在几天内呈现了从GBs到TBs的指数级增添。其时,Facebook行使Python将数据加载到RDBMS数据库中。由于RDBMS数据库只能垂直伸缩,很快就面对着机能和伸缩性题目。他们必要一个可以程度伸缩并处理赏罚大量数据的数据库。Hadoop在其时已经很风行了;不久之后,构建在Hadoop之上的Hive呈现了。Hive与RDBMS数据库相同,但不是完备的RDBMS。

为什么选择Hive?

选择Hive的焦点缘故起因是它是运行在Hadoop上的SQL接口。另外,它还低落了MapReduce框架的伟大性。Hive辅佐企业在HDFS上执行大局限数据说明,使其成为一个程度可伸缩的数据库。它的SQL接口HiveQL使具有RDBMS配景的开拓职员可以或许构建和开拓机能、使拓展的数据客栈范例框架。

Hive特征和成果

Hive具有企业级的特征和成果,可以辅佐企业构建高效的高端数据客栈办理方案。

个中一些特征包罗:

  • Hive行使Hadoop作为存储引擎,仅在HDF上运行。
  • 专门为数据客栈操纵而构建的,不合用于OLTP或OLAP。
  • HiveQL作为SQL引擎,可以或许辅佐为数据客栈范例操纵构建伟大的SQL查询。Hive可以与其他漫衍式数据库(如HBase)和NoSQL数据库(如Cassandra)集成。

Hive布局

Hive架构很是简朴。它有一个Hive接口,并行使HDFS跨多个处事器存储数据,用于漫衍式数据处理赏罚。

Apache Hive VS Spark:差异目标,同样乐成

用于数据客栈体系的Hive

Hive是专为数据客栈操纵构建的数据库,尤其是那些处理赏罚万亿字节或千兆字节数据的数据库。与RDBMS的数据库相同,但不完全沟通。如前所述,它是一个程度扩展的数据库,并操作了Hadoop的成果,使其成为一个快速执行的高局限数据库。它可以在数千个节点上运行,而且可以操作商用硬件。这使得Hive成为一款具有高机能和可扩展性的高性价比产物。

Hive集乐成能

因为支持ANSI SQL尺度,Hive可以与HBase和Cassandra.等数据库集成。这些器材对SQL的支持有限,可以辅佐应用措施对更大的数据集执行说明和陈诉。Hive还可以与Spark、Kafka和Flume等数据流器材集成。

Hive的范围性

Hive是一个纯数据客栈数据库,以表的情势存储数据。因此,它只能处理赏罚行使SQL查询读写的布局化数据,不能用于非布局化数据。另外,Hive也不得当OLTP或OLAP操纵。

Apache Hive VS Spark:差异目标,同样乐成

什么是Spark?

Spark是一个漫衍式大数据框架,辅佐提取和处理赏罚大量RDD名目标数据,以便举办说明。简而言之,它不是一个数据库,而是一个框架,可以行使RDD(弹性漫衍式数据)要领从数据存储区(如Hive、Hadoop和HBase)会见外部门布式数据集。因为Spark在内存中执行伟大的说明,以是运行异常敏捷。

什么是Spark Streaming?

Spark Streaming是Spark的一个扩展,它可以从Web源及时流式传输及时数据,以建设各类说明。尽量有其他器材,如Kafka和Flume可以做到这一点,但Spark成为一个很好的选择,执行真正伟大的数据说明是须要的。Spark有本身的SQL引擎,与Kafka和Flume集成时运行精采。

Spark成长史掠影

Spark是作为MapReduce的更换方案而提出的,MapReduce是一种迟钝且资源麋集型的编程模子。由于Spark对内存中的数据举办说明,以是不必依靠磁盘空间或行使收集带宽。

为什么选择Spark?

Spark的焦点上风在于它可以或许执行伟大的内存说明和高达千兆字节的数据流巨细,使其比MapReduce更高效、更快。Spark可以从Hadoop上运行的任何数据存储中提取数据,并在内存中并行执行伟大的说明。此成果镌汰了磁盘输入/输出和收集争用,将其速率进步了十倍乃至一百倍。其它,Spark中的数据说明框架还可以行使Java、Scala、Python、R乃至是SQL来构建。

Spark架构

Spark系统布局可以按照需求而变革。凡是,Spark系统布局包罗Spark流、Spark SQL、呆板进修库、图形处理赏罚、Spark焦点引擎和数据存储(如HDFS、MongoDB和Cassandra)。

Apache Hive VS Spark:差异目标,同样乐成

Spark特征和成果

  • 闪电般快速的说明

Spark从Hadoop中提取数据并在内存中执行说明。数据被并行地以块的情势拉入内存。然后,将最终数据集传送到目标地。数据集也可以驻留在内存中,知道被行使。

  • Spark Streaming

Spark Streaming是Spark的一个扩展,它可以从大量行使的web源及时传输大量数据。因为Spark具有执行高级说明的手段,因此与Kafka和Flume等其他数据流器材对比,显得尤为突出。

  • 支持各类应用编程接口

Spark支持差异的编程说话,如在大数据和数据说明规模很是风行的Java、Python和Scala。这使得数据说明框架可以用任何一种说话编写。

  • 海量数据处理赏罚手段

如前所述,高级数据说明凡是必要在海量数据集上执行。在Spark呈现之前,这些说明是行使MapReduce要领举办的。Spark不只支持MapReduce,还支持基于SQL的数据提取。Spark可觉得必要对大型数据集执行数据提取的应用措施举办更快的说明。

  • 数据存储和器材集成

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读