1. 程式人生 > >大資料中的Spark和Hadoop的區別

大資料中的Spark和Hadoop的區別

大資料開發中Spark和Hadoop作為輔助模組受到了很大的歡迎,但是Spark和Hadoop區別在哪?哪種更適合我們呢,一起了解一下它們之間的區別。

Hadoop還會索引和跟蹤這些資料,讓大資料處理和分析效率達到前所未有的高度。Spark,則是那麼一個專門用來對那些分散式儲存的大資料進行處理的工具,它並不會進行分散式資料的儲存。

Spark與Hadoop的對比: 對比Hadoop: 效能上提升高於100倍。 Spark的中間資料存放在記憶體中,對於迭代運算的效率更高,進行批處理時更高效。 更低的延時。 Spark提供更多的資料操作型別,程式設計模型比Hadoop更靈活,開發效率更高。 更高的容錯能力(血統機制)。

Hadoop存在如下一些缺點: 表達能力有限 磁碟IO開銷大 延遲高 任務之間的銜接涉及IO開銷 在前一個任務執行完成之前,其他任務就無法開始,難以勝任複雜、多階段的計算任務  Spark在借鑑Hadoop MapReduce優點的同時,很好地解決了MapReduce所面臨的問題。  相比於Hadoop MapReduce,Spark主要具有如下優點: Spark的計算模式也屬於MapReduce,但不侷限於Map和Reduce操作,還提供了多種資料集操作型別,程式設計模型比Hadoop MapReduce更靈活。

Spark提供了記憶體計算,可將中間結果放到記憶體中,對於迭代運算效率更高 Spark基於DAG的任務排程執行機制,要優於Hadoop MapReduce的迭代執行機制。

使用Hadoop進行迭代計算非常耗資源。Spark將資料載入記憶體後,之後的迭代計算都可以直接使用記憶體中的中間結果作運算,避免了從磁碟中頻繁讀取資料。

想要繼續瞭解關於大資料技術,可以參考加米穀