Hadoop與Spark等資料處理系統哪個是最好的?
如今我們擁有廣泛的資料處理系統選擇:Hadoop, Spark, Naiad, PowerGraph, Metis 和 GraphChi 等,這些不同框架的最佳效能其實高度依賴於高階的工作流程,其次,沒有某個單個系統總是會比其他系統效能高,也就是說,幾乎每個系統都有自己特定場景下的最好效能表現。
所以,選擇一個資料處理系統應該將其工作負載貼近其最佳設計點,但是我們很容易忽視這點,導致宗教式的爭論:哪個資料處理系統是最好的,這些爭論往往沒有背景前提。
選擇一個正確的並行資料處理系統是困難的,它需要大量的關於程式設計正規化、設計目標和許多可用性的實現等專家知識。
影響系統效能的四個關鍵因素有:
1.輸入資料的大小,對於較小的資料輸入,單機架構要優於分散式架構。
2.資料的結構,這會影響I/O效能和工作分發。
3.資料處理系統的自身建設中的工程決策,比如它是如何有效率的載入資料
4.計算型別,因為越專業的系統會更有效的運作。
所有系統資料來源與最終目地都是在HDFS檔案中。
下圖橫座標是資料量大小,縱座標是時間。可見資料輸入量小於0.5GB,其中紫紅的Metis單機MapReduce效能最好:
所以,選擇一個資料處理系統應該將其工作負載貼近其最佳設計點,但是我們很容易忽視這點,導致宗教式的爭論:哪個資料處理系統是最好的,這些爭論往往沒有背景前提。
選擇一個正確的並行資料處理系統是困難的,它需要大量的關於程式設計正規化、設計目標和許多可用性的實現等專家知識。
影響系統效能的四個關鍵因素有:
1.輸入資料的大小,對於較小的資料輸入,單機架構要優於分散式架構。
2.資料的結構,這會影響I/O效能和工作分發。
3.資料處理系統的自身建設中的工程決策,比如它是如何有效率的載入資料
4.計算型別,因為越專業的系統會更有效的運作。
所有系統資料來源與最終目地都是在HDFS檔案中。
下圖橫座標是資料量大小,縱座標是時間。可見資料輸入量小於0.5GB,其中紫紅的Metis單機MapReduce效能最好:
[img index=1]
對於40-80%的job提交到MapReduce系統,最好選擇是執行在單機系統。一個大型的join產生29GB的系統採取Hadoop比較合適。
一旦資料規模增長,Hive, Spark 和 Hadoop都會優於單機的Metis,至少是因為他們都能將HDFS的進出資料並行流化處理,但是不管如何,因為在工作流程中沒有資料重用,Spark效能會更差於Hadoop,它在進行計算前會將所有資料都載入到分散式記憶體RDD。
對於涉及圖的迭代計算時,毫不奇怪特定的圖形處理系統會更好。面向圖的正規化有很強的優勢,執行在Naiad上的GraphLINQ會明顯優於其他系統,PowerGraph也表現得很好,因為它的vertex-centric分片會降低通訊開銷,它在PageRank領域一直佔據主導。當然,最快的系統並不總是最有效的。
總結:實驗表明,對於一個工作流變化很大的系統最好的選擇取決於,這個最好是指最快或最有效的系統,這些依賴於工作流本身、輸入資料大小和並行規模。
Musketeer – Part I : What’s the best data processi
[該貼被banq於2015-04-28 08:14修改過]
相關文章
- 6個大資料處理分析的最好工具大資料
- Hadoop大資料分散式處理系統簡介Hadoop大資料分散式
- 資料演算法 Hadoop/Spark大資料處理---第十六章演算法HadoopSpark大資料
- 6個用於大資料處理分析的最好工具大資料
- 資料演算法 Hadoop/Spark大資料處理---第十二章演算法HadoopSpark大資料
- Spark的危機與機遇:未來必然是AI框架倒推資料處理框架SparkAI框架
- Apache Spark:大資料處理統一引擎ApacheSpark大資料
- 資料分析用哪個系統
- spark處理json資料DemoSparkJSON
- Hadoop Archives 小資料處理HadoopHive
- 資料自動處理系統
- win10系統哪個版本最好用 win10主要玩遊戲辦公哪個版本最好Win10遊戲
- O'Reilly精品圖書推薦:資料演算法:Hadoop/Spark大資料處理技巧演算法HadoopSpark大資料
- 一圖看懂Hadoop中的MapReduce與Spark的區別:從單機資料系統到分散式資料系統經歷了哪些?HadoopSpark分散式
- Intel與AMD的CPU處理器到底哪個好?Intel
- 大資料處理系統有哪些大資料
- 帝國CMS系統資料庫配置檔案是哪個檔案?資料庫
- 支付類系統資料處理和資料中臺的資料處理方式有什麼不同?
- 等保辦是啥單位?屬於哪個系統?有什麼作用?
- 大資料平臺之大資料處理系統的架構大資料架構
- 秒殺系統設計中的資料處理
- 使用Spark和Cassandra進行資料處理(一)Spark
- 什麼是 Hadoop ?它主要能解決 “大資料” 的哪兩個問題?Hadoop大資料
- 基於Spark的大資料實時處理開課Spark大資料
- 三個大資料處理框架:Storm,Spark和Samza介紹比較大資料框架ORMSpark
- Hadoop與Spark的比較HadoopSpark
- 大資料分析系統Hadoop的13個開源工具!大資料Hadoop開源工具
- 大資料分析系統Hadoop的13個開源工具大資料Hadoop開源工具
- 每週一書《Spark與Hadoop大資料分析》分享!SparkHadoop大資料
- ERP系統與CRM系統,哪個更重要?
- 電影推薦系統資料預處理
- Apache Wayang :跨平臺資料處理系統Apache
- 海量資料處理:十道面試題與十個海量資料處理方法總結面試題
- Spark在處理資料的時候,會將資料都載入到記憶體再做處理嗎?Spark記憶體
- 手遊盒子app哪個最好 最好的手機遊戲盒子APP遊戲
- Spark大資料處理框架入門(單機版)Spark大資料框架
- 流式大資料處理的三種框架:Storm,Spark和Samza大資料框架ORMSpark
- Spark如何與深度學習框架協作,處理非結構化資料Spark深度學習框架