請問spark和hive是什麼關係?

時間 2021-05-29 22:47:24

1樓:

spark是乙個分布式計算框架,hive是乙個分布式資料倉儲。

spark可以從hive裡提取結構化資料然後進行分布式計算,也可以從HBase裡拿結構化的資料,也可以直接從HDFS拿檔案來計算,也可以從MySQL之類的傳統單機關係型資料庫裡拿資料來計算。pyspark都有相應的讀取資料的介面,很好用。spark是加強版的mapreduce,除了比mapreduce效能厲害點(其實厲害不少,但沒有特別本質的區別)。

和mapreduce一樣,它只能用來計算,本身並不儲存資料。spark和mapreduce是高鐵和普通列車的區別。

hive是資料倉儲,本身存資料。嚴格來說,hive本身就是個庫而已,它自己並不能計算。只能借助外部的計算框架mapreduce或spark來進行查詢分析。

沒有spark,hive完全可以借助mapreduce來進行計算;沒有hive,spark也可以從別的地方拿資料。這兩個沒有誰更依賴誰。

2樓:沈穎

spark是乙個計算引擎,hive是乙個儲存框架。他們之間的關係就像發動機組與加油站之間的關係。

類似於spark的計算引擎還有很多,像mapreduce,flink等等。

類似於hive的儲存框架也是數不勝數,比如pig。

最底層的儲存往往都是使用hdfs。

如果將spark比喻成發動機,hive比喻為加油站,hdfs類似於石油。

3樓:行走上書房

功能點上:

hive:1、資料儲存 2、資料清洗

spark:1、資料清洗 2、流式計算

hive可以通過Hql方式讀hive資料進行資料清洗

spark可以通過sparkSQL或sparkCore方式進行資料清洗,可以讀取的資料來源包活jdbc,hive,elasticsearch,檔案等

所以spark可以取代hive的資料清洗功能,也可以把hive做為資料來源

hive的強項在於1、大資料儲存,2、通過sql方式進行MapReduce操作,降低大資料使用門檻

spark強項在於1、基於記憶體的MapReduce操作,速度快2、流式計算(對標產品flink,storm)

4樓:

spark和hive是兩個完全不同的東西,從概念上講。而spark和hadoop之間區別是什麼會是個更好的問題。

hive底層是hdfs【分布式檔案系統】+MapReduce【MR計算引擎】。那麼直觀理解就是HIVE的SQL通過很多層解析成了MR程式,然後儲存是放在了HDFS上。

spark是個生態群了,目前最活躍的是spark sql ,spark core,除此之外還有spark mllib,sparkR,spark Graphx。所以底層是RDD計算,同時也可以支援很多儲存形式,但是主流儲存形式還是HDFS。

所以很明顯這個問題不是很好問題,如果spark sql和hive區別;spark和hadoop區別將是乙個非常好的問題。

5樓:折磨王

hive是基於hdfs的資料倉儲,底層運算引擎是MR

spark的功能和MR相似,為記憶體迭代式計算框架,spark可以利用hive的儲存功能加上自己的計算框架,使hive發揮出更大的實力!

6樓:valwu

二者都能用來分析儲存在hdfs上資料,隨著不斷發展他們功能重合度也越來越高。簡單說:

1.hive只能寫SQL,而spark可以寫SQL也可以寫RDD操作,所以spark可以實現更複雜的資料處理。比如說spark可以用來訓練模型,hive就不行。

2.雖然hive結合orcfile和LLAP等技術,執行速度相對於初期有了數十倍的提高,但是仍然沒有spark快,特別是經過調優後。現在看spark執行速度是hive的1.

5-5倍,而且spark的資源消耗(cpu數)是hive的1/5-1/3。

3.當然,hive的學習成本比spark低得多。對於乙個CS的小碩來說,三天上手hive妥妥沒問題;但是要學spark,則需要先學scala,然後學習常見的大資料處理技巧,估計三個月上手幹活吧。

4.spark形成乙個生態圈,包括graphx,streaming,Mllib,這些都是hive沒有的,另外spark還支援GPU(Deeplearning4j)。

我認為spark是資料探勘/資料分析崗位必備的技能。能以更少的資源更快的速度完成更複雜的功能。

7樓:

首先你要理解hive和spark的區別,最本質上乙個執行基於磁碟hdfs系統,執行查詢是從hivesql轉化為mapreduce的程式計算。另乙個是基於記憶體執行,資料是在其中做處理,並且hive支援hdfs的結構化儲存,spark 只是將資料獲取過來。換句話說,hive可以是乙個離線的大型資料庫,而spark只是乙個執行客戶端。

當然他們各自都有各自的其他特點。

請問各位大神,spark的ML和MLLib兩個包區別和聯絡?!

張玉鷹 mlib主要是基於RDD的,抽象級別不夠高,ml主要是把資料處理的流水線抽象出來,演算法相當於流水線的乙個元件,可以被其他演算法隨意的替換,這樣就讓演算法和資料處理的其他流程分割開來,實現低耦合 技術角度上,面向的資料集型別不一樣 ML的API是面向Dataset的 Dataframe是Da...

Hadoop和Spark有什麼區別

姬不鬧 對比不恰當。應該去關注hove和spark的區別。不完整的比喻,hadoop是鐵軌,上面跑綠皮車hive和跑高鐵spark有區別。而不應該問鐵軌和高鐵有什麼區別。 windofjava 誕生的先後順序,hadoop屬於第一代開源大資料處理平台,而spark屬於第二代 屬於下一代的spark肯...

請問烏龜和鱉的區別是什麼?

美美 縫衣針把屁股去掉磨尖,碳素線綁在中間,雞腸子,其餘的你會,特別提醒不能補的過了後果是。黑色是線紅色是針咖啡色是豬肝 線要牢另一頭固定在什麼地方丟水裡次日去收 絮弦舌表墊恐 烏龜和王八是不同的動物。烏龜是硬殼,殼面有裂狀紋 王八是軟殼,殼面較光滑。王八的學名叫鱉,有的地方又叫甲魚。鱉,又叫水魚 ...