Spark 為什麼比Hadoop快

2021-09-02 20:29:10 字數 925 閱讀 5548

spark sql比hadoop hive快,是有一定條件的,而且不是spark sql的引擎比hive的引擎快,相反,hive的hql引擎還比spark sql的引擎更快。

[color=red][b]其實,關鍵還是在於spark 本身快。[/b][/color]

[color=red][size=large][b]spark為什麼快?[/b][/size][/color]

[b]1、消除了冗餘的hdfs讀寫[/b]

hadoop每次shuffle操作後,必須寫到磁碟,而spark在shuffle後不一定落盤,可以cache到記憶體中,以便迭代時使用。如果操作複雜,很多的shufle操作,那麼hadoop的讀寫io時間會大大增加。

[b]2、消除了冗餘的mapreduce階段[/b]

hadoop的shuffle操作一定連著完整的mapreduce操作,冗餘繁瑣。而spark基於rdd提供了豐富的子操作,且reduce操作產生shuffle資料,可以快取在記憶體中。

[b]3、jvm的優化[/b]

[color=red][b]* task啟動時間比較快,spark是fork出線程;而mr是啟動乙個新的程序;[/b][/color]

[b]* 更快的shuffles,spark只有在shuffle的時候才會將資料放在磁碟,而mr卻不是。[/b]

* 更快的工作流:典型的mr工作流是由很多mr作業組成的,他們之間的資料互動需要把資料持久化到磁碟才可以;而spark支援dag以及pipelining,在沒有遇到shuffle完全可以不把資料快取到磁碟。

* 快取:雖然目前hdfs也支援快取,但是一般來說,spark的快取功能更加高效,特別是在sparksql中,我們可以將資料以列式的形式儲存在記憶體中。

結論:spark快不是絕對的,但是絕大多數,spark都比hadoop計算要快。這主要得益於其對mapreduce操作的優化以及對jvm使用的優化。

Spark 為什麼比Hadoop快

spark sql比hadoop hive快,是有一定條件的,而且不是spark sql的引擎比hive的引擎快,相反,hive的hql引擎還比spark sql的引擎更快。color red b 其實,關鍵還是在於spark 本身快。b color color red size large b s...

面試必備 Spark為什麼比Hadoop快

大資料工程師都喜歡拿spark和hadoop進行對比。在大資料開發面試中,我們也會經常說到hadoop spark這兩個常用框架。當我們被問到為什麼spark比hadoop快時,大多數人一般的理解就是 spark是基於記憶體的計算,而hadoop是基於磁碟的計算 spark是一種記憶體計算技術。果真...

為什麼說Storm比Hadoop 快?

快 這個詞是不明確的,專業屬於點有兩個層面 1.時延 指資料從產生到運算產生結果的時間,題主的 快 應該主要指這個。2.吞吐,指系統單位時間處理的資料量。首先明確一點,在消耗資源相同的情況下,一般來說storm的延時低於mapreduce。但是吞吐也低於mapreduce。storm的網路直傳 記憶...