概述
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一直占用资源;
总结
tez与spark两者并不矛盾,不存在冲突,在实际生产中,如果数据需要快速处理而且资源充足,则可以选择spark;如果资源是瓶颈,则可以使用tez;可以根据不同场景不同数据层次做出选择;这个总结同样也适合spark与mr的比较;
来源:https://blog.csdn.net/tianjy0508/article/details/102778025