中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

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

2019-08-29    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

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

什么是Hive?

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

Hive發(fā)展史掠影

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

為什么選擇Hive?

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

Hive特性和功能

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

其中一些特性包括:

Hive使用Hadoop作為存儲(chǔ)引擎,僅在HDF上運(yùn)行。

專門(mén)為數(shù)據(jù)倉(cāng)庫(kù)操作而構(gòu)建的,不適用于OLTP或OLAP。

HiveQL作為SQL引擎,能夠幫助為數(shù)據(jù)倉(cāng)庫(kù)類型操作構(gòu)建復(fù)雜的SQL查詢。Hive可以與其他分布式數(shù)據(jù)庫(kù)(如HBase)和NoSQL數(shù)據(jù)庫(kù)(如Cassandra)集成。

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

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

 

 

用于數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)的Hive

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

Hive集成功能

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

Hive的局限性

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

什么是Spark?

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

什么是Spark Streaming?

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

Spark發(fā)展史掠影

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

為什么選擇Spark?

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

Spark架構(gòu)

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

 

 

Spark特性和功能

閃電般快速的分析

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

Spark Streaming

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

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

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

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

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

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

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

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

Hive和Spark的區(qū)別

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

特性和功能的差異

 

 

結(jié)論

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

標(biāo)簽: Hive Spark Hadoop

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點(diǎn)!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請(qǐng)與原作者聯(lián)系。

上一篇:中國(guó)最新AI算力地圖出爐:北京加冕冠軍!杭州、深圳位列三甲

下一篇:大數(shù)據(jù)需求使用的六個(gè)Hadoop發(fā)行版