MapReduce和Tez对比

MapReduce和Tez对比MapReduce 是一种编程模型 用于大规模数据集 大于 1TB 的并行运算 概念 Map 映射 和 Reduce 归约 Tez 是 Apache 开源的支持 DAG 作业的计算框架 它直接源于 MapReduce 框架 核心思想是将 Map 和 Reduce 两个操作进一步拆分 即 Map 被拆分成 Input Processor Sort Merge 和 Output Reduce 被拆分成 Input Shuff

MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算。概念”Map(映射)”和”Reduce(归约)”。

 

 

 

对比举例:

传统的MR(包括Hive,Pig和直接编写MR程序)。假设有四个有依赖关系的MR作业(1个较为复杂的Hive SQL语句或者Pig脚本可能被翻译成4个有依赖关系的MR作业)或者用Oozie描述的4个有依赖关系的作业,运行过程如下(其中,绿色是Reduce Task,需要写HDFS):

 云状表示写屏蔽(write barrier,一种内核机制,持久写)

Tez可以将多个有依赖的作业转换为一个作业(这样只需写一次HDFS,且中间节点较少),从而大大提升DAG作业的性能

——————————

Hadoop是基础,其中的HDFS提供文件存储,Yarn进行资源管理。在这上面可以运行MapReduce、Spark、Tez等计算框架。 MapReduce:是一种离线计算框架,将一个算法抽象成Map和Reduce两个阶段进行处理,非常适合数据密集型计算。

Spark:Spark是UC Berkeley AMP lab所开源的类Hadoop MapReduce的通用的并行计算框架,Spark基于map reduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Job中间输出和结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的map reduce的算法。

Storm:MapReduce也不适合进行流式计算、实时分析,比如广告点击计算等。Storm是一个免费开源、分布式、高容错的实时计算系统。Storm令持续不断的流计算变得容易,弥补了Hadoop批处理所不能满足的实时要求。Storm经常用于在实时分析、在线机器学习、持续计算、分布式远程调用和ETL等领域

Tez: 是基于Hadoop Yarn之上的DAG(有向无环图,Directed Acyclic Graph)计算框架。它把Map/Reduce过程拆分成若干个子过程,同时可以把多个Map/Reduce任务组合成一个较大的DAG任务,减少了Map/Reduce之间的文件存储。同时合理组合其子过程,也可以减少任务的运行时间

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/233153.html原文链接:https://javaforall.net

(0)
上一篇 2025年8月11日 下午3:01
下一篇 2025年8月11日 下午3:22


相关推荐

  • java学习笔记 head first java

    java学习笔记 head first java文章目录golangtojavaHeadFirstJavagolangtojavagolang工程师,最近开始学习一些javaHeadFirstJavainstanceof相当于断言Dogd=newDog()Objecto=dif(oinstanceofDog){ Dogd=(Dog)o}interface在java和golang中基本一致,java中的interfece是一个100%抽象类,所有函数都是抽象的。必须要用implements显

    2022年7月7日
    23
  • nginx转发服务器_jquery跨域请求

    nginx转发服务器_jquery跨域请求场景描述:A服务器映射了外网IP;B服务器为内网服务器,A和B能互通;外网IP不能访问B上的服务;方案:使用nginx在A服务器上做个代理转发,将B服务器上的服务代理到A服务器上,这样外网IP就可以通过代理的地址访问B上的资源。配置比较简单,如下所示:server{listen8089;//A服务器定义端口需映射到外网IPserver_name172.10.20.6;//A服务器代理地址…

    2022年10月18日
    8
  • Android代码混淆失败

    Android代码混淆失败Readinginput… Readingprogramjar[/data/rdm/projects/7060/bin/proguard/original.jar] Readingprogramjar[/data/rdm/projects/7060/libs/android-support-v4.jar] Readinglibraryjar[/data/rdm/

    2022年5月29日
    40
  • redis多线程模型_js进程和线程的区别

    redis多线程模型_js进程和线程的区别2019独角兽企业重金招聘Python工程师标准>>>…

    2022年10月7日
    4
  • BD和DVD区域划分

    BD和DVD区域划分BD和DVD区域划分BD:A区:只能是在美国、日本以及香港、台湾等东南亚地区正常播放;B区:只能在欧洲和澳洲等国家正常播放;C区:是在中国大陆、俄罗斯和印度三国才能正常播放。DVD:第一区为:美国、加拿大;第二区为:日本、欧洲、埃及、南非、中东;第三区为:中国台湾、中国香港特别行政区、南韩、东南亚;第四区为:澳洲、新西兰、中南美洲、南太平洋岛屿;第五区为:俄罗斯、蒙古、印度

    2022年7月11日
    36
  • windows驱动程序开发(普及)

    windows驱动程序开发(普及)1 用户态驱动驱动程序和核心态驱动程序 下图描绘出了操作系统驱动程序的相关组成部分的概貌 500 this width 500 border 0 src http blogger org cn blog uploadfile 46322 GIF Windows 驱动程序既可以运行在用户态也可以运行在核心模态 l nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp 用户态的

    2026年3月26日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号