TEZ 的诞生主要是为了解决 MapReduce 效率低下的问题。TEZ 将原有的 Map 和 Reduce 两个操作简化为一个概念-Vertex;并将原有的计算处理节点拆分成多个组成部分:Vertex Input、Vertex Output、Sorting、Shuffing 和 Merging。
计算节点之间的数据通信被称为 Edge,这些分解后的元操作可以任意灵活组合,产生新的操作,这个操作经过组装之后,形成一个大的 DAG 作业。
除了以上 6 种组件,Tez 还提供了两种算子,分别是 Sort(排序)和 Shuffle(混洗),为了用户使用方便,它还提供了多种 Input、Output、Task 和 Sort 的实现。