Spark只比Hadoop快19% ?
Spark比Hadoop並沒有想象得那麼快,以前號稱快100倍,實際只快19%,這是Making Sense of Performance in Data Analytics Frameworks.結論。
這個結論出乎我們意料,他們發現:分析job的效能瓶頸在CPU,而不是I/O,網路效能對於job的完成時間只有稍微影響,提高網路效能能夠提高job的完成時間,平均提高約2%;大部分造成效能落後的原因都能發現並且解決。
他們發現job任務執行時間透過最佳化磁碟I/O效能提高不可能超過19%,他們比較了任務在執行時資源利用率,發現CPU將近100%,而磁碟利用率也只不過25%。
一個原因是分析負載導致高CPU利用率,包括反序列化和壓縮,透過遷移複雜的序列化和壓縮格式已經降低了I/O,提高了分析框架的CPU使用需求。
因為超高的CPU使用時間,透過硬體最佳化比如使用更多磁碟,使用快閃記憶體或者將序列化資料儲存在記憶體中不會顯著提高分析job的完成時間,快取反序列化資料因為消除了反序列化耗費的時間有潛在的大的效能提高。
因此,以前號稱Spark因為使用了記憶體避免了磁碟I/O而比Hadoop提高100倍,是要打問號的,因為該研究表明,這些分析框架的主要瓶頸在CPU,而不是磁碟I/O,使用大量的記憶體和快速網路,雖然避免磁碟I/O和網路瓶頸的問題,但是不會對效能有100倍那麼大的效果。
參考:Spark Only 19% Faster Than Hadoop? - Rose Business
banq注:大資料分析是一種計算,重點在計算上,也就是CPU使用上,而不是空間結構的儲存。所以,從邏輯上看,CPU提升才應該是計算效能提升的關鍵。
這個結論出乎我們意料,他們發現:分析job的效能瓶頸在CPU,而不是I/O,網路效能對於job的完成時間只有稍微影響,提高網路效能能夠提高job的完成時間,平均提高約2%;大部分造成效能落後的原因都能發現並且解決。
他們發現job任務執行時間透過最佳化磁碟I/O效能提高不可能超過19%,他們比較了任務在執行時資源利用率,發現CPU將近100%,而磁碟利用率也只不過25%。
一個原因是分析負載導致高CPU利用率,包括反序列化和壓縮,透過遷移複雜的序列化和壓縮格式已經降低了I/O,提高了分析框架的CPU使用需求。
因為超高的CPU使用時間,透過硬體最佳化比如使用更多磁碟,使用快閃記憶體或者將序列化資料儲存在記憶體中不會顯著提高分析job的完成時間,快取反序列化資料因為消除了反序列化耗費的時間有潛在的大的效能提高。
因此,以前號稱Spark因為使用了記憶體避免了磁碟I/O而比Hadoop提高100倍,是要打問號的,因為該研究表明,這些分析框架的主要瓶頸在CPU,而不是磁碟I/O,使用大量的記憶體和快速網路,雖然避免磁碟I/O和網路瓶頸的問題,但是不會對效能有100倍那麼大的效果。
參考:Spark Only 19% Faster Than Hadoop? - Rose Business
banq注:大資料分析是一種計算,重點在計算上,也就是CPU使用上,而不是空間結構的儲存。所以,從邏輯上看,CPU提升才應該是計算效能提升的關鍵。
相關文章
- Hadoop Storm Spark比較HadoopORMSpark
- Hadoop與Spark的比較HadoopSpark
- 大資料框架對比 - Hadoop、Spark、Storm、Samza、Spark、Flink大資料框架HadoopSparkORM
- hadoop&spark mapreduce對比 & 框架設計和理解HadoopSpark框架
- 大資料入門課程:Hadoop和spark的效能比較大資料HadoopSpark
- Spark在Hadoop叢集上的配置(spark-1.1.0-bin-hadoop2.4)SparkHadoop
- Hadoop與Spark關係HadoopSpark
- 【hadoop/Spark】相關命令HadoopSpark
- 好程式設計師技術解析Hadoop和spark的效能比較程式設計師HadoopSpark
- Spark 與 Hadoop 關於 TeraGen/TeraSort 的對比實驗(包含原始碼)SparkHadoop原始碼
- hadoop:spark-project專案的hadoop配置HadoopSparkProject
- spark問題hadoop歷史伺服器hadoop102:19888訪問不了SparkHadoop伺服器
- hadoop和spark的區別HadoopSpark
- 利用docker搭建spark hadoop workbenchDockerSparkHadoop
- hadoop+spark偽分散式HadoopSpark分散式
- Hadoop/Spark 太重,esProc SPL 很輕HadoopSpark
- HADOOP SPARK 叢集環境搭建HadoopSpark
- SparkSQL /DataFrame /Spark RDD誰快?SparkSQL
- 如何掌握Spark和Hadoop的架構SparkHadoop架構
- Spark 和 Hadoop 是朋友不是敵人SparkHadoop
- 命令列工具可以比Hadoop叢集快235倍 - Adam Drake命令列Hadoop
- 好程式設計師分享大資料入門教程:Hadoop和spark的效能比較程式設計師大資料HadoopSpark
- nginx 只快取靜態檔案Nginx快取
- 談談Hadoop MapReduce和Spark MR實現HadoopSpark
- Hadoop/Spark相關面試問題總結HadoopSpark面試
- Q:Spark和Hadoop的架構區別SparkHadoop架構
- 科普文:從大資料到Hadoop,Spark,Storm大資料HadoopSparkORM
- Spark相對於Hadoop有哪些優勢?SparkHadoop
- 快取Apache Spark RDD - 效能調優快取ApacheSpark
- Storm與Spark Streaming比較ORMSpark
- Spark修煉之道(進階篇)——Spark入門到精通:第二節 Hadoop、Spark生成圈簡介SparkHadoop
- 第四正規化先知:建模比Spark快416倍,支援萬億級別變數數Spark變數
- CDH版Hadoop-zookeeper-hbase-spark安裝文件HadoopSpark
- 7種最常見的Hadoop和Spark專案HadoopSpark
- Hadoop2.7.3+Hive2.1.1+Spark2.1.0環境搭建HadoopHiveSpark
- Spark Streaming(六):快取與持久化Spark快取持久化
- CS190 Scalable Machine Learning Spark - Introduction SparkMacSpark
- Elasticsearch、MongoDB和Hadoop比較。ElasticsearchMongoDBHadoop