spark VS Hadoop 兩大大數據分析系統深度解讀
大數據,無論是從產業上,還是從技術上來看,都是目前的發展熱點。在中國,政府控制著80%的數據,剩下的多由「BAT」這樣的大公司擁有,中小企業如何構建自己的大數據系統?其他企業如何建設自己的大數據系統?
推薦兩大應用最廣泛、國人認知最多的Apache開源大數據框架系統:spark Hadoop
Spark:速度快、易於使用
Spark以性能見長,但是它也因易用性而小有名氣,原因是它隨帶易於使用的API,支持Scala(原生語言)、Java、Python和Spark SQL。SparkSQL非常類似於SQL 92,所以幾乎不需要經歷一番學習,馬上可以上手。
Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的並行計算框架,Spark基於map reduce演算法實現的分散式計算,擁有HadoopMapReduce所具有的優點;但不同於MapReduce的是Job中間輸出結果可以保存在內存中,從而不再需要讀寫HDFS,因此Spark能更好地適用於數據挖掘與機器學習等需要迭代的map reduce的演算法。
Spark還有一種交互模式,那樣開發人員和用戶都可以獲得查詢和其他操作的即時反饋。MapReduce沒有交互模式,不過有了Hive和Pig等附加模塊,採用者使用MapReduce來得容易一點。
成本上來看:Spark需要大量內存,但是可以使用常規數量的常規轉速磁碟。一些用戶抱怨會產生臨時文件,需要清理。這些臨時文件通常保存7天,以便加快針對同一數據集的任何處理。磁碟空間相對便宜,由於Spark不使用磁碟輸入/輸入用於處理,已使用的磁碟空間可以用於SAN或NAS。
容錯上:Spark使用彈性分散式數據集(RDD),它們是容錯集合,裡面的數據元素可執行並行操作。RDD可以引用外部存儲系統中的數據集,比如共享式文件系統、HDFS、HBase,或者提供Hadoop InputFormat的任何數據源。Spark可以用Hadoop支持的任何存儲源創建RDD,包括本地文件系統,或前面所列的其中一種文件系統。
Hadoop:分散式文件系統
Hadoop是http://Apache.org的一個項目,其實是一種軟體庫和框架,以便使用簡單的編程模型,跨計算器集群對龐大數據集(大數據)進行分散式處理。Hadoop可靈活擴展,從單一計算機系統,到提供本地存儲和計算能力的數千個商用系統,它都能輕鬆支持。實際上,Hadoop就是大數據分析領域的重量級大數據平台。
Hadoop由協同運行、構建Hadoop框架的多個模塊組成。Hadoop框架的主要模塊包括如下:
?HadoopCommon
?Hadoop分散式文件系統(HDFS)
?HadoopYARN
?HadoopMapReduce
雖然上述四個模塊構成了Hadoop的核心,不過還有其他幾個模塊。這些模塊包括:Ambari、Avro、Cassandra、Hive、Pig、Oozie、Flume和Sqoop,它們進一步增強和擴展了Hadoop的功能,得以擴大到大數據應用領域,處理龐大數據集。
許多使用大數據集和分析工具的公司使用Hadoop。它已成為大數據應用系統中事實上的標準。設計Hadoop的初衷是處理這項任務:搜尋和搜索數十億個網頁,將這些信息收集到資料庫中。正是由於渴望搜尋和搜索互聯網,才有了Hadoop的HDFS及分散式處理引擎MapReduce。
成本上:MapReduce使用常規數量的內存,因為數據處理基於磁碟,所以公司得購買速度更快的磁碟和大量磁碟空間來運行MapReduce。MapReduce還需要更多的系統,將磁碟輸入/輸出分布到多個系統上。
容錯上:MapReduce使用TaskTracker節點,它為JobTracker節點提供了心跳(heartbeat)。如果沒有心跳,那麼JobTracker節點重新調度所有將執行的操作和正在進行的操作,交給另一個TaskTracker節點。這種方法在提供容錯性方面很有效,可是會大大延長某些操作(即便只有一個故障)的完成時間。
總結:Spark與MapReduce是一種相互共生的關係。Hadoop提供了Spark所沒有的功能特性,比如分散式文件系統,而Spark為需要它的那些數據集提供了實時內存處理。完美的大數據場景正是設計人員當初預想的那樣:讓Hadoop和Spark在同一個團隊裡面協同運行。
作者:張景龍 暢移(上海)信息科技有限公司CTO,CCFYOCSEF上海委員,京東今夜酒店特價app技術奠基人和首任CTO,中國第一代智能手機開發者。
推薦閱讀:
※如何利用八爪魚,實現餐飲大數據(以辰智商圈秀為例)
※一文讀懂物聯網、雲計算與大數據的關係
※未來人在數據分析中的角色轉變
※AI+金融:學者、產業、趨勢全景報告
※擁抱20餘家主機廠,彩虹無線提供車聯網全產業鏈服務
TAG:大數據 |