Tez调研报告

1.系统介绍

TezApache最新开源的支持DAG作业的计算框架,Stinger的一部分,它建立在Apache Hadoop 2.0(YARN)之上。 TEZ核心思想是将MapReduce两个操作进一步拆分,即Map被拆分成InputProcessorSortMergeOutput, Reduce被拆分成InputShuffleSortMergeProcessorOutput等,这样,这些分解后的元操作可以任意灵活组合,产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的DAG作业。

TEZ提供了一种AppMaster来处理任务定义,通过调用YARNResourceManager来分配工作容器并调用YARNNodeManagers来实际执行所分配容器的工作处理。Tez是从MapReduce计算框架演化而来的通用DAG计算框架,可作为MapReduce/Hive/Pig等系统的底层数据处理引擎,它天生融入Hadoop 2.0中的资源管理平台YARN,且由Hadoop 2.0核心人员精心打造,势必将会成为计算框架中的后起之秀。

2.系统体系结构

Tez是一种建立在Apache Hadoop 2.0YARN)之上的框架。YARN提供了集群管理和资源分配服务,Tez提供了一种新的AppMaster来处理新的任务定义。如图1Tez架构图。

 

图1 Tez架构

3.系统关键技术

TezMap taskReduce task进一步拆分,

 

2 Tez任务划分

TeztaskInputprocessoroutput阶段组成,可以表达所有复杂的mapreduce操作。

 

3 Tez任务执行过程

这样,这些分解后的元操作可以任意灵活组合,产生新的操作单元Task.

Tez新引入的优化机制包括:

(1) 动态确定任务基数

DAG中每个Vertex需启动一定数目的任务并行处理对应的数据,Tez可根据用户设置的策略动态确定每个Vertex需启动的任务数,比如根据数据量、最大并发数等。

(2)解决数据倾斜问题

数据倾斜是分布式计算中影响数据处理效率的最大顽疾之一,很多工作在这方面开展但一直没有非常好的解决方案。目前看来,比较有效的方案是在应用程序层解决,即用户根据实际数据特点编写最有效的应用程序,尽可能避免数据倾斜问题。

数据倾斜的一种典型场景是大批量的数据的key值是相同的,这使得按key划分数据后,大量数据落到一个任务上,从而使得该任务成为“拖后腿”任务,甚至导致运行失败。为了解决该问题,在数据引擎层面,Tez可根据每个任务的处理数据量调整占用的资源,对于那些处理数据量大的任务,可多分配一些资源。

4.系统优缺点

优点

(1) 丰富的数据流编程接口;

(2) 扩展性良好的“Input-Processor-Output”运行模型;

(3) 简化数据部署(充分利用了YARN框架,Tez本身仅是一个客户端编程库,无需事先部署相关服务)

(4) 性能优于MapReduce

(5)优化的资源管理(直接运行在资源管理系统YARN之上)

(6) 动态生成物理数据流(dataflow)

缺点:无相关资料。

 

5.系统功能

Tez/Stinger为Hive添加了更多的SQL分析能力,但是最关键的方面在于底层基础设施的提升:一个优化的执行引擎,一个列式文件格式,能够避免MapReduce的运行瓶颈。它针对Hadoop的分析应用支持最大程度的SQL语义语法,使得Hive能够成为一个综合和适合的SQL引擎以满足企业级别的需求。

Tez提供了可解决传统map-reduce任务的执行环境,能解决基于DAG的任务,并提供了多种接口,同时提供了Vertex Input、Vertex Output、Sorting、Shuffling、Merging、Data transfer五种基元来支持DAG API。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值