概述
spark号稱比mr快100倍,而tez也号稱比mr快100倍;二者性能都遠端mr,為什麼都能遠超mr?使用場景有什麼差別?兩者各自的優勢又是在哪裡?本文主要探讨這些問題
為什麼性能遠超mr?
- spark與tez都是以dag方式處理資料
使用場景差別?
- spark更像是一個通用的計算引擎,提供記憶體計算,實時流處理,機器學習等多種計算方式,适合疊代計算
- tez作為一個架構工具,特定為hive和pig提供批量計算
- spark屬于記憶體計算,支援多種運作模式,可以跑在standalone,yarn上;而tez隻能跑在yarn上;雖然spark與yarn相容,但是spark不适合和其他yarn應用跑在一起
- tez能夠及時的釋放資源,重用container,節省排程時間,對記憶體的資源要求率不高; 而spark如果存在疊代計算時,container一直占用資源;