online gambling singapore online gambling singapore online slot malaysia online slot malaysia mega888 malaysia slot gacor live casino malaysia online betting malaysia mega888 mega888 mega888 mega888 mega888 mega888 mega888 mega888 mega888 Spark VS Hadoop 兩大大數據分析系統深度解讀

摘要: 大數據,無論是從產業上,還是從技術上來看,都是目前的發展熱點。在中國,政府控制著80%的數據,剩下的多由“BAT”這樣的大公司擁有,中小企業如何構建自己的大數據系統?其他企業如何建設自己的大數據系統? 推薦兩大應用最廣泛、國人認知最多的Apache開源大數據框架系統:Spark Hadoop......

 


▲(來源:36大數據)

Spark:速度快、易於使用 Spark以性能見長,但是它也因易用性而小有名氣,原因是它隨帶易於使用的API,支持Scala(原生語言)、Java、Python和Spark SQL。Spark SQL非常類似於SQL 92,所以幾乎不需要經歷一番學習,馬上可以上手。 Spark是UC Berkeley AMP lab所開源的類Hadoop MapReduce的通用的並行計算框架,Spark基於map reduce算法實現的分佈式計算,擁有Hadoop MapReduce所具有的優點;但不同於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是Apache.org的一個項目,其實是一種軟件庫和框架,以便使用簡單的編程模型,跨計算器集群對龐大數據集(大數據)進行分佈式處理。Hadoop可靈活擴展,從單一計算機系統,到提供本地存儲和計算能力的數千個商用系統,它都能輕鬆支持。實際上,Hadoop就是大數據分析領域的重量級大數據平台。 Hadoop由協同運行、構建Hadoop框架的多個模塊組成。Hadoop框架的主要模塊包括如下: Hadoop Common Hadoop分佈式文件系統(HDFS) Hadoop YARN Hadoop MapReduce

雖然上述四個模塊構成了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,中國第一代智能手機開發者。

轉貼自: 36大數據

 


留下你的回應

以訪客張貼回應

0
  • 找不到回應