TEZ和MapReduce区别

Tez是为了解决MapReduce在处理复杂DAG作业时的低效问题而设计的,它将MapReduce操作进一步拆分,提供更灵活的DAG编程接口,减少磁盘和网络IO,提高大数据处理性能。Tez运行在YARN之上,与MapReduce兼容,适用于DAG应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 Tez产生背景与定位

在开源界,当前最广泛使用的计算模型是MapReduce,该模型将计算过程抽象成Map和Reduce两个阶段,并通过shuffle机制将两个阶段连接起来。但在一些应用场景中,为了套用MapReduce模型解决问题,不得不将问题分解成若干个有依赖关系的子问题,每个子问题对应一个MapReduce作业,最终所有这些作业形成一个有向图(DAG,Directed Acyclic Graph),在该DAG中,由于每个节点是一个MapReduce作业,因此它们均会从HDFS上读一次数据和写一次数据(默认写三份),即使中间节点产生的数据仅是临时数据。很显然,这种表达依赖关系作业的方式是低效的,会产生大量不必要的磁盘和网络IO。

       为了更高效地运行存在依赖关系的作业(比如Pig和Hive产生的MapReduce作业),减少磁盘和网络IO,Hortonworks开发并开源了DAG计算框架Tez[1]

在实际大数据处理场景中,很多问题需转化成DAG模型解决,典型的有两类,分别是:

  • 用户编写的应用程序:很多场景下,用户编写的多个MapReduce应用程序之间存在依赖关系或者为了使用MapReduce解决一个问题,不得不将问题转化成一系列存在依赖关系的MapReduce作业,而为了表达这些作业的依赖关系,用户通常借助于像Oozie[2]或者Cascading[3]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值