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、Spark、Storm、Samza、Spark、Flink大資料框架HadoopSparkORM
- Hadoop與Spark關係HadoopSpark
- 【hadoop/Spark】相關命令HadoopSpark
- 大資料入門課程:Hadoop和spark的效能比較大資料HadoopSpark
- hadoop:spark-project專案的hadoop配置HadoopSparkProject
- 好程式設計師技術解析Hadoop和spark的效能比較程式設計師HadoopSpark
- hadoop和spark的區別HadoopSpark
- hadoop+spark偽分散式HadoopSpark分散式
- 命令列工具可以比Hadoop叢集快235倍 - Adam Drake命令列Hadoop
- Hadoop/Spark 太重,esProc SPL 很輕HadoopSpark
- 如何掌握Spark和Hadoop的架構SparkHadoop架構
- 好程式設計師分享大資料入門教程:Hadoop和spark的效能比較程式設計師大資料HadoopSpark
- 談談Hadoop MapReduce和Spark MR實現HadoopSpark
- Q:Spark和Hadoop的架構區別SparkHadoop架構
- SparkSQL /DataFrame /Spark RDD誰快?SparkSQL
- Hadoop/Spark相關面試問題總結HadoopSpark面試
- hadoop基礎學習三十一(spark-streaming)HadoopSpark
- CDH版Hadoop-zookeeper-hbase-spark安裝文件HadoopSpark
- spark問題hadoop歷史伺服器hadoop102:19888訪問不了SparkHadoop伺服器
- Hadoop進入寒冬期,崛起的會是Spark嗎?HadoopSpark
- 常見的七種Hadoop和Spark專案案例HadoopSpark
- 好程式設計師解密Spark是否可以替代hadoop程式設計師解密SparkHadoop
- Hadoop 及Spark 分散式HA執行環境搭建HadoopSpark分散式
- 《Hadoop+Spark大資料分析實戰》簡介HadoopSpark大資料
- WSL2+Ubuntu配置Java Maven Hadoop Spark環境UbuntuJavaMavenHadoopSpark
- Spark Streaming(六):快取與持久化Spark快取持久化
- 快取Apache Spark RDD - 效能調優快取ApacheSpark
- hadoop,spark,Zookeeper,,, 這些名字都是怎麼來的呢?HadoopSpark
- 每週一書《Spark與Hadoop大資料分析》分享!SparkHadoop大資料
- Spark與Hadoop MapReduce相比,有哪些優點你知道嗎?SparkHadoop
- Spark與MapReduce的對比(區別)Spark
- hadoop商業版本選擇對比Hadoop
- Hadoop 集中式的快取管理demoHadoop快取
- hadoop3.x+scala+spark-mac血淚安裝經驗!!HadoopSparkMac
- 使用 ES-Hadoop 將 Spark Streaming 流資料寫入 ESHadoopSpark
- 深度:Hadoop對Spark五大維度正面比拼報告!HadoopSpark
- Julia:比 Fortran 快,比 Numpy 乾淨 - matecdevdev
- python中安裝配置pyspark庫教程需要配合spark+hadoop使用PythonSparkHadoop
- 大資料Storm相比於Spark、Hadoop有哪些優勢(摘錄)大資料ORMSparkHadoop