古詩詞大全網 - 成語故事 - 大數據處理為何選擇spark?

大數據處理為何選擇spark?

大數據處理為何選擇Spark,而不是Hadoop?

壹、基礎知識

1、Spark

Spark是壹個用來實現快速而通用的集群計算的平臺。

在速度方面,Spark擴展了廣泛使用的MapReduce計算模型,而且高效地支持更多計算模式,包括交互式查詢和流處理。

Spark項目包含多個緊密集成的組件。Spark的核心是壹個對由很多計算任務組成的、運行在多個工作機器或者是壹個計算集群上的應用進行調度、分發以及監控的計算引擎。

2、Hadoop

Hadoop是壹個由Apache基金會所開發的分布式系統基礎架構。

用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。

Hadoop的框架最核心的設計就是:HDFS和MapReduce。HDFS為海量的數據提供了存儲,則MapReduce為海量的數據提供了計算。

很多初學者,對大數據的概念都是模糊不清的,大數據是什麽,能做什麽,學的時候,該按照什麽線路去學習,學完往哪方面發展,想深入了解,想學習的同學歡迎加入大數據學習扣扣群:740041381,有大量幹貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大數據講師給大家免費授課,給大家分享目前國內最完整的大數據高端實戰實用學習流程體系。

二、大數據處理選擇

Spark和Hadoop都可以進行大數據處理,那如何選擇處理平臺呢?

1.處理速度和性能

Spark擴展了廣泛使用的MapReduce計算模型,支持循環數據流和內存計算。

Hadoop進行計算時,需要從磁盤讀或者寫數據,同時整個計算模型需要網絡傳輸,導致MapReduce具有高延遲的弱點。

據統計,基於Spark內存的計算速度比Hadoop MapReduce快100倍以上,基於磁盤的計算速度也要快10倍以上。

2.開發難易度

Spark提供多語言(包括Scala、Java、Python)API,能夠快速實現應用,相比MapReduce更簡潔的代碼,安裝部署也無需復雜配置。使用API可以輕松地構建分布式應用,同時也可以使用Scala和Python腳本進行交互式編程。