Tez学习笔记-初识

Tez是Hadoop生态中的一个客户端应用程序,它提供了一种有向无环图(DAG)的方式来描述计算任务,提高了执行性能和灵活性。Tez允许用户构建数据流API,支持灵活的输入输出模型,不关心具体数据格式。它能运行任意MR任务,无需改动,并且可以动态重配置DAG。通过减少数据在任务间的移动,Tez降低了延迟并提高了集群并行利用率。此外,Tez已经在Hive和Pig中得到应用,为了解决Hadoop处理延迟和复杂性问题。
摘要由CSDN通过智能技术生成
Apache Tez是一个针对Hadoop数据处理应用程序的新分布式执行框架。Tez是Apache最新的支持DAG作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升DAG作业的性能。Tez并不直接面向最终用户——事实上它允许开发者为最终用户构建性能更快、扩展性更好的应用程序。Hadoop传统上是一个大量数据批处理平台。但是,有很多用例需要近乎实时的查询处理性能。还有一些工作则不太适合MapReduce,例如机器学习。Tez的目的就是帮助Hadoop处理这些用例场景。
Tez项目的目标是支持高度定制化,这样它就能够满足各种用例的需要,让人们不必借助其他的外部方式就能完成自己的工作,如果  Hive和  Pig 这样的项目 使用Tez 而不是MapReduce作为其数据处理的骨干,那么将会显著提升它们的响应时间。Tez构建在 YARN之上,后者是Hadoop所使用的新资源管理框架。
Tez产生的主要原因是绕开MapReduce所施加的限制。除了必须要编写Mapper和Reducer的限制之外,强制让所有类型的计算都满足这一范例还有效率低下的问题——例如使用HDFS存储多个MR作业之间的临时数据,这是一个负载。在Hive中,查询需要对不相关的key进行多次shuffle操作的场景非常普遍,例如join - group by - window function - order by。
Tez设计哲学里面的关键元素包括:
  • 允许开发人员(也包括最终用户)以最有效的方式做他们想做的事情
  • 更好的执行性能
Tez之所以能够实现这些目标依赖于 以下内容
  • 具有表现力的数据流API——Tez团队希望通过一套富有表现力的数据流定义API让用户能够描述他们所要运行计算的有向无环图 (DAG)。为了达到这个目的,Tez实现了一个结构化类型的API,你可以在其中添加所有的处理器和边,并可视化实际构建的图形。
  • 灵活的输入—处理器—输出(Input-Processor-Output)运行时模型——可以通过连接不同的输入、处理器和输出动态地构建运行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值