大資料入門課程:Hadoop和spark的效能比較

weixin_34033624發表於2018-04-04

大資料課程,一門看似很專業實際很複雜的學科,備受追捧。因為大資料的就業前景真的很誘惑人,單單是就業薪資就能讓人趨之若鶩。今天大資料講師給大家分享的技術知識是大資料入門課程之Hadoop和spark的效能比較。

11363019-b3078f8bff04e092.png

        曾經看過一個非常有趣的比喻,Hadoop是一家大型包工隊,可以組織一大堆人合作(HDFS)搬磚蓋房(用MapReduce),但是速度比較慢。

  Spark是另一家包工隊,雖然成立得晚一些,但是他們搬磚很快很靈活,可以實時互動地蓋房子,比Hadoop快得多。

  Hadoop開始升級,指定排程專家YARN排程工人。Spark從多個倉庫搬磚(HDFS,Cassandra,S3,HBase),還允許不同專家如YARN/ MESOS對人員和任務進行排程。

當然,他們兩家並不是水火不容。Spark經常和Hadoop團隊合作,這讓問題變得更加複雜。不管怎麼說,Spark和Hadoop都是兩個獨立的包工隊,都有著各自的優缺點和特定的業務用例。

Hadoop和spark的效能比較

  Spark在記憶體中執行速度比Hadoop快100倍,在磁碟上執行速度快10倍。眾所周知,Spark在數量只有十分之一的機器上,對100TB資料進行排序的速度比Hadoop MapReduce快3倍。此外,Spark在機器學習應用中的速度同樣更快,例如Naive Bayes和k-means。

  由處理速度衡量的Spark效能之所以比Hadoop更優,原因如下:

  1、每次執行MapReduce任務時,Spark都不會受到輸入輸出的限制。事實證明,應用程式的速度要快得多。

  2、Spark的DAG可以在各個步驟之間進行優化。Hadoop在MapReduce步驟之間沒有任何週期性連線,這意味著在該級別不會發生效能調整。

但是,如果Spark與其他共享服務在YARN上執行,則效能可能會降低並導致RAM開銷記憶體洩漏。出於這個原因,如果使用者有批處理的訴求,Hadoop被認為是更高效的系統。

文章寫到這也該結束了,如果你對這篇文章感到意猶未盡,對大資料感興趣,歡迎大家一起交流學習。

相關文章