1. 大數據處理為何選擇spark
大數據處理為何選擇Spark,而不是Hadoop?
一、基礎知識
1、Spark
Spark是一個用來實現快速而通用的集群計算的平台。
在速度方面,Spark擴展了廣泛使用的MapRece計算模型,而且高效地支持更多計算模式,包括互動式查詢和流處理。
Spark項目包含多個緊密集成的組件。Spark的核心是一個對由很多計算任務組成的、運行在多個工作機器或者是一個計算集群上的應用進行調度、分發以及監控的計算引擎。
2、Hadoop
Hadoop是一個由Apache基金會所開發的滑空段分布式系統基礎架構。
用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力進行高速運算和存儲。
Hadoop的框架最核心的設計就是:HDFS和MapRece。HDFS為海量的數據提供了存儲,則MapRece為海量的數據提供了計算。
很多初學者,對大數據的概念都是模糊不清的,大數據是什麼,能做什麼,學的時候,該按照什麼線路去學習,學完往哪方面發展,想深入了解,想學習的同學歡迎加入大數據學習扣扣群:740041381,有大量干貨(零基礎以及進階的經典實戰)分享給大家,並且有清華大學畢業的資深大數據講師給大家免費授課,給大家分享目前國內最完整的大數據高端實戰實用學習流程體系。
二、大數據處理選擇
Spark和Hadoop都可信譽以進行大數據處理,那如何選擇處理平台呢?
1.處理速度和性能
Spark擴展了廣泛使用的MapRece計算模型,支持循環數據流和內存計算。
Hadoop進行計算時,需要從磁碟讀或者寫數據,同時整個計算模型需要網路傳輸,導致MapRece具有高延遲的弱點。
據統計,基於Spark內存的計算速度比Hadoop MapRece快100倍以虧襲上,基於磁碟的計算速度也要快10倍以上。
2.開發難易度
Spark提供多語言(包括Scala、Java、Python)API,能夠快速實現應用,相比MapRece更簡潔的代碼,安裝部署也無需復雜配置。使用API可以輕松地構建分布式應用,同時也可以使用Scala和Python腳本進行互動式編程。
2. 大數據為什麼要選擇Spark
Spark,是一種"One Stackto rule them all"的大數據計算框架,期望使用一個技術堆棧就完美地解決大數據領域的各種計算任務。Apache官方,對Spark的定義就是:通用的大數據快速處理引擎。Spark除了一站式的特點之外,另外一個最重要的特點,就是基於內存進行計算,從而讓它的速度可以達到MapRece、Hive的數倍甚至數十倍!現在已經有很多大公司正在生產環境下深度地使用Spark作為大數據的計算框架,包括eBay、Yahoo!、BAT、網易、京東、華為、大眾點評、優酷土豆、搜狗等等。
超強的通用性
Spark提供了Spark RDD、Spark SQL、SparkStreaming、Spark MLlib、Spark GraphX等技術組件,可以一站式地完成大數據領域的離線批處理、互動式查詢、流式計算、機器學習、圖計算等常見的任務。
東時大數據學習java語言基礎、java面向對象、Java框架、web前端、Linux入門、hadoop開發、Spark等內容。