美文网首页
深入理解Tez

深入理解Tez

作者: _永夜_ | 来源:发表于2016-10-12 05:00 被阅读0次

    什么是Tez

    MapReduce(下面简称MR)的缺点很明显,性能比较弱,效率不高。 原因在于它只能把Job抽象成为Map, Reduce,但是复杂的任务可以有几十个MR任务,中间可能会有很多重复的任务。 而且MR并不支持对于整个pipeline的任务进行优化。比如说若干个MR任务的组合可以合并成一个来计算,这样就减少了数据的读写,传输的开销。归根结底,是因为Hadoop不支持任务的DAG(有向无环图)描述。

    Tez提供了一个可重用,灵活的框架来支持数据流模型。他的主要特点是:

    1. 用户可以将自己的Job描述成一个DAG,这样可以进行更灵活的优化和配置。
    2. 提供了灵活的Runtime API。Tez支持在Runtime对DAG的配置进行修改,比如对于partitition的调整。
    3. 提供了data-locality感知, 资源重用和错误容忍。

    术语介绍

    首先介绍下Tez中会用到的术语:

    • DAG: 有向无环图, 用来表示数据处理的工作流。 而DAG中边的方向就是数据流动的方向。
    • Vertex: 有向无环图中的节点代表逻辑上数据处理中的一步。可以是数据的过滤,转换等。
    • Logical Vertex: 一个Logical包含一系列的Vertex。
    • Task: 一个Vertex对应的逻辑上的处理在实际计算的时候,会被分拆成若干个Tasks并运行在不同机器上。
    • Physical DAG: Physical DAG包含了一个Logical Vertex中展开的Tasks. //狗屁不通,修改
    • Edge: Logical Vertex中的edge代表了上下游Vertex间的数据依赖。 Tasks之间的edge则代表了不同Tasks之间数据的流动。

    Tez架构介绍

    Tez API

    相关文章

      网友评论

          本文标题:深入理解Tez

          本文链接:https://www.haomeiwen.com/subject/msqdyttx.html