Storm、Spark和MapReduce 開源分佈式計算系統框架比較

比較項 Storm Spark Streaming 分佈式計算在許多領域都有普遍需求,目前流行的分佈式計算框架主要有 hadoop MapReduce, Spark Streaming, Storm; 這三個框架各有優點,如今都屬於 Apache 基金會下的頂級項目,下文將對三個框架的特色與適用場景進行分析,以便開發者能快速選擇適合本身的框架進行開發。
Hadoop MapReduce 是三者中出現最先,知名度最大的分佈式計算框架,最先由 Google Lab 開發,使用者遍及全球(Hadoop PoweredBy);主要適用於大批量的集羣任務,因爲是批量執行,故時效性偏低,原生支持 Java 語言開發 MapReduce ,其它語言須要使用到 Hadoop Streaming 來開發。Spark Streaming 保留了 Hadoop MapReduce 的優勢,並且在時效性上有了很大提升,中間結果能夠保存在內存中,從而對須要迭代計算和有較高時效性要求的系統提供了很好的支持,多用於能容忍小延時的推薦與計算系統。Storm 一開始就是爲實時處理設計,所以在實時分析/性能監測等須要高時效性的領域普遍採用,並且它理論上支持全部語言,只須要少許代碼便可完成適配器。
下面的表格是對三者部分特性的比較,描述時間爲 2015-5-3,三個項目均處於快速迭代中,文中描述特性會隨時產生變化,若是與官方文檔產生出入以官方文檔爲準。
框架

相關文章
相關標籤/搜索