余老师带你学习大数据-Spark快速大数据处理第四章第一节Tez总体介绍

为什么选择Tez

为什么要用Tez

在分布式系统中要存储海量的数据,因为构建了一个非商务的机器上能够运行的hdfs分布式存储空间,而且这个存储空间是低成本的并且具有良好的扩展性。那么,很多企业都会将海量的存储数据迁移到Hadoop上,而摒弃之前用的ioe方式。然后,在利用Hive和Pig提供的类SQL语句完成我们的大规模的数据处理,以应对数据挖掘以及数据准备的应用场景。为什么这么选择,是因为存储廉价和开发人员是相对丰厚的。Hive和Pig如果需要通过MapReduce进行处理的话,那么解决问题的实时性得不到满足。

Tez在大数据架构的层次图

在这里插入图片描述
数据存储,如果有一个交互式查询任务,Tez负责通过Hive或者Pig等转化为Tez有向无环图的执行方式去执行查询,然后将查询的任务提交到YARN。Spark和Flink有自己的结构框架提交YARN。

之所以还继续选择Tez框架,是因为Tez可以做为底层的计算框架,可以集成在YARN上。

MapReduce和Tez对比

在这里插入图片描述

这幅图展示了进入MR和进入Tez的Pig/Hive查询架构、性能的对比。蓝色的块代表做Map,绿色的块代表做Reduce,一个圆圈表示做了一个完整MapReduce的job,连接圆圈之间是结果输出到hdfs中。左侧图中做了四个MapReduce的任务,关系是树,有三次hdfs的写入。在右侧中只有一次写入hdfs,将最终的结果写入。

性能对比

在这里插入图片描述

Query27、Query82、Query52、Query55、Query12是查询的种类。
在这里插入图片描述

Tez特征

1、分布式执行框架,面向大规模数据处理应用的分布式数据查询的引擎,包含:分布式计算的数据处理框架、可以集成到YARN底层透明的给应用提供执行框架。

2、基于将计算表示为数据流图。

3、构建在YARN之上——Hadoop的资源管理框架。

4、简化部署。

5、数据类型不可知。

6、动态物理数据流决策。

7、运行时计划重新配置。

Tez基本架构

在这里插入图片描述

这是逻辑图,Tez是进入DAG的,所以要创建一个DAG。之后创建每个节点,创建每个节点之间的编。

在这里插入图片描述

这是物理图,在实际的应用中会有多个并行实例。在实际的物理部署中Tez采用SGather形式将数据发射出去,由Bipartie去拉取需要的数据。

在这里插入图片描述

这种执行需要Tez的执行引擎做调度。DAG的执行引擎包括了三个主要部分,两个调度器一个管理者。Vertex Manager将逻辑计算图形式转化为tasks形式。有多个job就会有对应的多个DAG调度器,Task调度器要调度每个计算图的Hadoop集群的物理节点上执行的时间。

在这里插入图片描述

左侧图是从Application Master整个集群框架的视角看,DAG的执行过程。通过Client端去提交DAG,提交之间会进行start Session,Session和Application Master交互,向Application Master提交任务,Application Master在YARN集群上。然后Application Master去管理Container Pool(容器的池)。

右侧图是AM承担的重要角色处理信息,通过AM去处理各个Task,因为Task之间是无法直接交流的。比如,Map Task2做完任务有Data Event的输出,需要告诉AM,AM中的Router(相当于路由器)将数据路由到Reduce Task2上。路由的过程并不是在Map Task2的物理节点上拷贝到AM上然后再发送给Reduce Task2所在的节点上,而是提供了一个路由功能,是控制信息的路由,数据是直达的。

详细学习内容可观看Spark快速大数据处理扫一扫~~~或者引擎搜索Spark余海峰
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_45810046/article/details/109162357