乐知付加密服务平台

如果你有资源, 平台可以帮你实现内容变现, 无需搭建知识付费服务平台。

点击访问官方网站 https://lezhifu.cc

扫码关注公众号 乐知付加密服务平台-微信公众号
Mr&Tez&Spark引擎的区别 | chenzuoli's blog

Mr&Tez&Spark引擎的区别

      spark号称比mr快100倍,tez也号称比mr快100倍,那么他们之间为什么有这么大的差距呢?下面来看看。

为什么性能远超mr?

  • spark和tez都是基于dag方式处理数据
  • tez源于mr,核心思想是将map和reduce两个操作进一步拆分,即map被拆分Input、Processor、Sort、Merge和Output,reduce被拆分为Input、Shuffle、Sort、Merge和Output,这样分解后的元数据操作就可以随意组合,产生新的操作,这些操作经过一些程序组装后,形成一个大的DAG作业,可以将多个map依赖合并为1个,这样只需写一次hdfs;mr的话,有多少个依赖map就有多少个任务;
  • spark直接可以将job输出的中间结果写入内存中;
          mr和tez对比图如下:
    mr_tez_diff

使用场景的区别

  • spark是一个通用计算引擎,提供实时、离线、机器学习等多种计算方式,适合迭代计算;
  • tez作为一个框架工具,特定为hive和pig提供计算;

优势

  • spark属于内存计算,map阶段计算结果可以缓存在内存中。支持多种运行模式,可以跑在standalone、yarn、memos等资源调度框架上,而tez只能跑在yarn上;
  • tez能够及时地释放资源,重启container,节省调度时间,对内存的资源要求率不高,资源利用率高,属于细粒度资源调度;而spark如果存在迭代计算时,container会一直占用着资源,资源利用率不高,属于粗粒度资源调度;

总结

      tez与spark两者并不矛盾,不存在冲突,在实际生产中,如果数据需要快速处理而且资源充足,则可以选择spark;如果资源是瓶颈,则可以使用tez;可以根据不同场景不同数据层次做出选择;这个总结同样也适合spark与mr的比较;


Asking cost nothing.

书山有路勤为径,学海无涯苦作舟。

欢迎关注微信公众号:【程序员写书】
程序员写书

喜欢宠物的朋友可以关注:【电巴克宠物Pets】
电巴克宠物

一起学习,一起进步。

-------------本文结束感谢您的阅读-------------