目前,比較流行的開源分布式計算框架主要有Hadoop MapReduce,Spark Streaming,Storm。這三個框架各有千秋,適合不同的場景。本文對三種框架進行多方面的簡單比較。
---> Hadoop MapReduce
Hadoop MapReduce使用於大批量的集群任務,由於批量執行,故其時效性比較差。原生Java語言開發。
---> Spark Streaming
Spark Streaming保留了Hadoop MapReduce的優點,其時效性有了很大提高。計算過程中,中間結果可以保存在內存中,從而對需要迭代計算和有較高時效性要求的系統提供很好的支持,多用於能容忍小延時的推薦和計算系統。
---> Storm
Storm 一開始就是為實時處理設計,因此在實時分析/性能監測等需要高時效性的領域廣泛采用,而且它理論上支持所有語言,只需要少量代碼即可完成適配器。
下面的表格是對三者部分特性的比較,描述時間為 2015-5-3,三個項目均處於快速迭代中,文中描述特性會隨時產生變化,如果與官方文檔產生出入以官方文檔為准。

參考:
http://www.36dsj.com/archives/34666。
