数据计算 批量计算
TEZ

TEZ是基于Hadoop YARN之上的DAG(有向无环图,Directed Acyclic Graph)计算框架

商务合作
5
(1)

简介

Tez 是 Apache 最新的支持 DAG 作业的开源计算框架,它可以将多个有依赖的作业转换为一个作业从而大幅提升 DAG 作业的性能。Tez 并不直接面向最终用户——事实上它允许开发者为最终用户构建性能更快、扩展性更好的应用程序。

特点

(1) 丰富的数据流(dataflow,NOT Streaming)编程接口。
(2) 扩展性良好的”Input-Processor-Output”运行模型。
(3) 简化数据部署(充分利用YARN框架,Tez本身仅是一个客户端编程库,无序事先部署相关服务)
(4) 性能优于MapReduce.
(5) 优化的资源管理(直接运行在资源管理系统YARN之上)
(6) 动态生成物理数据流(dataflow).

概念

(1)Job Vertex:作业规划中的一个阶段(Stage);
(2) Job Edge:两个不同Job Vertex之间的逻辑关联;
(3) Vertex: 运行时生成的物化阶段,由若干个可以执行的Task构成;
(4) Edge: Task之间数据移动方式;
(5) Task: 能够完成计算任务的线程,实际运行在YARN Container中;
(6) Task cardinality: 任务基数,即Vertex产生的Task数目
(7) Static plan: 作业提交时确定的逻辑执行计划
(8) Dynamic plan:在ApplicationMaster执行时产生的物理执行计划

Tez API

Tez API 包括以下几个组件:

  • 有向无环图(DAG)——定义整体任务。一个 DAG 对象对应一个任务。
  • 节点(Vertex)——定义用户逻辑以及执行用户逻辑所需的资源和环境。一个节点对应任务中的一个步骤。
  • 边(Edge)——定义生产者和消费者节点之间的连接。 边需要分配属性,对 Tez 而言这些属性是必须的,有了它们才能在运行时将逻辑图展开为能够在集群上并行执行的物理任务集合。下面是一些这样的属性:
    • 数据移动属性,定义了数据如何从一个生产者移动到一个消费者。
    • 调度(Scheduling)属性(顺序或者并行),帮助我们定义生产者和消费者任务之间应该在什么时候进行调度。
    • 数据源属性(持久的,可靠的或者暂时的),定义任务输出内容的生命周期或者持久性,让我们能够决定何时终止。

这个大数据组件是否好用呢?

点击星号为它评分!

平均评分 5 / 5. 投票数: 1

到目前为止还没有投票!成为第一位评论此组件。

相关导航

暂无评论

暂无评论...