自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hive和Spark究竟是憑借什么優(yōu)勢而大獲成功?

大數(shù)據(jù) Spark
Hive和Spark憑借其在處理大規(guī)模數(shù)據(jù)方面的優(yōu)勢大獲成功,換句話說,它們是做大數(shù)據(jù)分析的。本文重點闡述這兩種產(chǎn)品的發(fā)展史和各種特性,通過對其能力的比較,來說明這兩個產(chǎn)品能夠解決的各類復(fù)雜數(shù)據(jù)處理問題。

Hive和Spark憑借其在處理大規(guī)模數(shù)據(jù)方面的優(yōu)勢大獲成功,換句話說,它們是做大數(shù)據(jù)分析的。本文重點闡述這兩種產(chǎn)品的發(fā)展史和各種特性,通過對其能力的比較,來說明這兩個產(chǎn)品能夠解決的各類復(fù)雜數(shù)據(jù)處理問題。

什么是Hive?

Hive是在Hadoop分布式文件系統(tǒng)上運行的開源分布式數(shù)據(jù)倉庫數(shù)據(jù)庫,用于查詢和分析大數(shù)據(jù)。數(shù)據(jù)以表格的形式存儲(就像關(guān)系數(shù)據(jù)庫管理系統(tǒng)一樣)。數(shù)據(jù)操作可以使用名為HiveQL的SQL接口來執(zhí)行。Hive在Hadoop之上引入了SQL功能,使其成為一個水平可擴展的數(shù)據(jù)庫,是DWH環(huán)境的絕佳選擇。

Hive發(fā)展史掠影

Hive(即后來的Apache)最初是由Facebook開發(fā)的,開發(fā)人員發(fā)現(xiàn)他們的數(shù)據(jù)在幾天內(nèi)出現(xiàn)了從GBs到TBs的指數(shù)級增長。當(dāng)時,F(xiàn)acebook使用Python將數(shù)據(jù)加載到RDBMS數(shù)據(jù)庫中。因為RDBMS數(shù)據(jù)庫只能垂直伸縮,很快就面臨著性能和伸縮性問題。他們需要一個可以水平伸縮并處理大量數(shù)據(jù)的數(shù)據(jù)庫。Hadoop在當(dāng)時已經(jīng)很流行了;不久之后,構(gòu)建在Hadoop之上的Hive出現(xiàn)了。Hive與RDBMS數(shù)據(jù)庫類似,但不是完整的RDBMS。

為什么選擇Hive?

選擇Hive的核心原因是它是運行在Hadoop上的SQL接口。此外,它還降低了MapReduce框架的復(fù)雜性。Hive幫助企業(yè)在HDFS上執(zhí)行大規(guī)模數(shù)據(jù)分析,使其成為一個水平可伸縮的數(shù)據(jù)庫。它的SQL接口HiveQL使具有RDBMS背景的開發(fā)人員能夠構(gòu)建和開發(fā)性能、使拓展的數(shù)據(jù)倉庫類型框架。

Hive特性和功能

Hive具有企業(yè)級的特性和功能,可以幫助企業(yè)構(gòu)建高效的高端數(shù)據(jù)倉庫解決方案。

其中一些特性包括:

  • Hive使用Hadoop作為存儲引擎,僅在HDF上運行。
  • 專門為數(shù)據(jù)倉庫操作而構(gòu)建的,不適用于OLTP或OLAP。
  • HiveQL作為SQL引擎,能夠幫助為數(shù)據(jù)倉庫類型操作構(gòu)建復(fù)雜的SQL查詢。Hive可以與其他分布式數(shù)據(jù)庫(如HBase)和NoSQL數(shù)據(jù)庫(如Cassandra)集成。

Hive結(jié)構(gòu)

Hive架構(gòu)非常簡單。它有一個Hive接口,并使用HDFS跨多個服務(wù)器存儲數(shù)據(jù),用于分布式數(shù)據(jù)處理。 

Hive和Spark究竟是憑借什么優(yōu)勢而大獲成功?
用于數(shù)據(jù)倉庫系統(tǒng)的Hive

Hive是專為數(shù)據(jù)倉庫操作構(gòu)建的數(shù)據(jù)庫,尤其是那些處理萬億字節(jié)或千兆字節(jié)數(shù)據(jù)的數(shù)據(jù)庫。與RDBMS的數(shù)據(jù)庫類似,但不完全相同。如前所述,它是一個水平擴展的數(shù)據(jù)庫,并利用了Hadoop的功能,使其成為一個快速執(zhí)行的高規(guī)模數(shù)據(jù)庫。它可以在數(shù)千個節(jié)點上運行,并且可以利用商用硬件。這使得Hive成為一款具有高性能和可擴展性的高性價比產(chǎn)品。

Hive集成功能

由于支持ANSI SQL標(biāo)準(zhǔn),Hive可以與HBase和Cassandra.等數(shù)據(jù)庫集成。這些工具對SQL的支持有限,可以幫助應(yīng)用程序?qū)Ω蟮臄?shù)據(jù)集執(zhí)行分析和報告。Hive還可以與Spark、Kafka和Flume等數(shù)據(jù)流工具集成。

Hive的局限性

Hive是一個純數(shù)據(jù)倉庫數(shù)據(jù)庫,以表的形式存儲數(shù)據(jù)。因此,它只能處理使用SQL查詢讀寫的結(jié)構(gòu)化數(shù)據(jù),不能用于非結(jié)構(gòu)化數(shù)據(jù)。此外,Hive也不適合OLTP或OLAP操作。

什么是Spark?

Spark是一個分布式大數(shù)據(jù)框架,幫助提取和處理大量RDD格式的數(shù)據(jù),以便進(jìn)行分析。簡而言之,它不是一個數(shù)據(jù)庫,而是一個框架,可以使用RDD(彈性分布式數(shù)據(jù))方法從數(shù)據(jù)存儲區(qū)(如Hive、Hadoop和HBase)訪問外部分布式數(shù)據(jù)集。由于Spark在內(nèi)存中執(zhí)行復(fù)雜的分析,所以運行十分迅速。

什么是Spark Streaming?

Spark Streaming是Spark的一個擴展,它可以從Web源實時流式傳輸實時數(shù)據(jù),以創(chuàng)建各種分析。盡管有其他工具,如Kafka和Flume可以做到這一點,但Spark成為一個很好的選擇,執(zhí)行真正復(fù)雜的數(shù)據(jù)分析是必要的。Spark有自己的SQL引擎,與Kafka和Flume集成時運行良好。

Spark發(fā)展史掠影

Spark是作為MapReduce的替代方案而提出的,MapReduce是一種緩慢且資源密集型的編程模型。因為Spark對內(nèi)存中的數(shù)據(jù)進(jìn)行分析,所以不必依賴磁盤空間或使用網(wǎng)絡(luò)帶寬。

為什么選擇Spark?

Spark的核心優(yōu)勢在于它能夠執(zhí)行復(fù)雜的內(nèi)存分析和高達(dá)千兆字節(jié)的數(shù)據(jù)流大小,使其比MapReduce更高效、更快。Spark可以從Hadoop上運行的任何數(shù)據(jù)存儲中提取數(shù)據(jù),并在內(nèi)存中并行執(zhí)行復(fù)雜的分析。此功能減少了磁盤輸入/輸出和網(wǎng)絡(luò)爭用,將其速度提高了十倍甚至一百倍。另外,Spark中的數(shù)據(jù)分析框架還可以使用Java、Scala、Python、R甚至是SQL來構(gòu)建。

Spark架構(gòu)

Spark體系結(jié)構(gòu)可以根據(jù)需求而變化。通常,Spark體系結(jié)構(gòu)包括Spark流、Spark SQL、機器學(xué)習(xí)庫、圖形處理、Spark核心引擎和數(shù)據(jù)存儲(如HDFS、MongoDB和Cassandra)。 

Hive和Spark究竟是憑借什么優(yōu)勢而大獲成功?
Spark特性和功能

閃電般快速的分析

Spark從Hadoop中提取數(shù)據(jù)并在內(nèi)存中執(zhí)行分析。數(shù)據(jù)被并行地以塊的形式拉入內(nèi)存。然后,將最終數(shù)據(jù)集傳送到目的地。數(shù)據(jù)集也可以駐留在內(nèi)存中,知道被使用。

Spark Streaming

Spark Streaming是Spark的一個擴展,它可以從大量使用的web源實時傳輸大量數(shù)據(jù)。由于Spark具有執(zhí)行高級分析的能力,因此與Kafka和Flume等其他數(shù)據(jù)流工具相比,顯得尤為突出。

支持各種應(yīng)用編程接口

Spark支持不同的編程語言,如在大數(shù)據(jù)和數(shù)據(jù)分析領(lǐng)域非常流行的Java、Python和Scala。這使得數(shù)據(jù)分析框架可以用任何一種語言編寫。

海量數(shù)據(jù)處理能力

如前所述,高級數(shù)據(jù)分析通常需要在海量數(shù)據(jù)集上執(zhí)行。在Spark出現(xiàn)之前,這些分析是使用MapReduce方法進(jìn)行的。Spark不僅支持MapReduce,還支持基于SQL的數(shù)據(jù)提取。Spark可以為需要對大型數(shù)據(jù)集執(zhí)行數(shù)據(jù)提取的應(yīng)用程序進(jìn)行更快的分析。

數(shù)據(jù)存儲和工具集成

Spark可以與運行在Hadoop上的各種數(shù)據(jù)存儲(如Hive和HBase)集成。還可以從像MongoDB這樣的NoSQL數(shù)據(jù)庫中提取數(shù)據(jù)。與在數(shù)據(jù)庫中執(zhí)行分析的其他應(yīng)用程序不同,Spark從數(shù)據(jù)存儲中提取數(shù)據(jù)一次,然后在內(nèi)存中對提取的數(shù)據(jù)集執(zhí)行分析。

Spark的擴展——Spark Streaming可以與Kafka和Flume集成,構(gòu)建高效高性能的數(shù)據(jù)管道。

Hive和Spark的區(qū)別

Hive和Spark是大數(shù)據(jù)空間為不同目的而構(gòu)建的不同產(chǎn)品。Hive是一個分布式數(shù)據(jù)庫,Spark是一個用于數(shù)據(jù)分析的框架。

特性和功能的差異 

Hive和Spark究竟是憑借什么優(yōu)勢而大獲成功?

結(jié)論

Hive和Spark都是大數(shù)據(jù)世界中非常流行的工具。Hive是使用SQL對大量數(shù)據(jù)執(zhí)行數(shù)據(jù)分析的最佳選擇。另一方面,Spark是運行大數(shù)據(jù)分析的最佳選擇,它提供了比MapReduce更快、更現(xiàn)代的替代方案。

 

責(zé)任編輯:未麗燕 來源: 今日頭條
相關(guān)推薦

2011-02-16 16:13:40

Debian

2016-06-17 12:31:10

Spark SQL數(shù)據(jù)處理Spark

2015-09-29 09:47:14

2018-09-10 13:47:21

數(shù)據(jù)科學(xué)統(tǒng)計學(xué)決策

2019-05-27 15:30:44

Node.jsJavaScript前端

2023-10-20 10:09:44

人工智能

2019-04-26 13:55:02

Istio微服務(wù)架構(gòu)

2011-02-28 09:51:43

內(nèi)省

2014-07-28 08:28:38

Windows

2014-08-07 10:32:02

Windows微軟

2015-12-30 10:43:13

白盒網(wǎng)絡(luò)SDN

2022-06-13 09:51:35

UWB超寬帶無線載波通信技術(shù)

2012-05-28 22:49:50

PureView

2009-07-30 14:43:30

認(rèn)識BSM

2011-08-04 13:24:28

IT運維

2015-08-26 09:54:19

物聯(lián)網(wǎng)

2021-05-27 11:08:44

接入網(wǎng)網(wǎng)絡(luò)互聯(lián)網(wǎng)

2025-03-31 00:33:00

2024-10-18 14:43:31

2019-07-22 15:29:53

JavaScriptGitHub語言
點贊
收藏

51CTO技術(shù)棧公眾號