Apache Tez 0.10.5 介绍与选型指南

Apache Tez 0.10.5(2025-05-29 发布)基于 YARN 的 DAG 批处理执行框架认知篇:DAG 编程模型、Input-Processor-Output 运行时、Local Mode 快速上手,0.10.6 候选滞留情况如实标注,并与 Spark、MapReduce、Hive 量化选型对比。

Apache TezApache Tez2026/10/18

Apache Tez 0.10.5 介绍与选型指南

一、信息基准

1.1 版本口径

  • 查询日期:2026-10-18,全部信息以当日官方公开数据为准。
  • 最新稳定版:0.10.5(GitHub 标签 rel/release-0.10.5,订阅源时间 2025-05-29;Maven Central 上 org.apache.tez 组件 lastUpdated 2025-05-29;官网发布页 apache-tez-0-10-5.html 存在)。
  • 预发布情况(如实标注):0.10.6 处于候选阶段,GitHub 订阅源可见 release-0.10.6-rc1(2026-08-10)与 release-0.10.6-rc0(2026-08-16),截至查询日尚未转为正式发布。
  • 项目形态:Apache 顶级项目(官网项目目录分类 big-data),版本号不带 -incubating 后缀。

1.2 官方来源清单

来源地址用途
Tez 官网https://tez.apache.org/项目定位与设计主题
官网 Local Mode 文档https://tez.apache.org/localmode.html快速上手配置引用
官网 0.10.5 发布页https://tez.apache.org/releases/apache-tez-0-10-5.html版本发布核验
Maven Central 版本目录https://repo1.maven.org/maven2/org/apache/tez/tez/maven-metadata.xml最新版本与时间核验
GitHub Releases 订阅源https://github.com/apache/tez/releases.atom标签与候选版本核验
GitHub 仓库页https://github.com/apache/tezstars 数量实查

二、软件概述

2.1 项目定位

官网首页口径:Apache Tez 项目旨在构建一个应用框架,用于执行以复杂有向无环图(DAG)组织的数据处理任务,当前构建在 Apache Hadoop YARN 之上。官方列举的两大设计主题为:面向最终用户的表达能力(富有表现力的数据流定义 API、灵活的 Input-Processor-Output 运行时模型、数据类型无关)与简化的部署;以及执行性能(相对 MapReduce 的性能收益、最优资源管理、运行期计划重配置、动态物理数据流决策)。官网同时说明:通过让 Apache Hive、Apache Pig 等项目运行复杂任务 DAG,此前需要多个 MapReduce 作业才能处理的数据如今可以在单个 Tez 作业中完成。

2.2 版本与项目状态

  • 本次介绍版本:0.10.5(2025-05-29)。
  • 开源许可:Apache-2.0(Apache 顶级项目默认许可)。
  • 社区热度:GitHub stars 521(2026-10-18 于 GitHub 仓库页实查)。
  • 版本节奏与活跃度:最后稳定版 0.10.5 发布于 2025-05-29,0.10.6 自 2026-08 起出现候选标签但尚未转正;整体处于低频维护状态,本篇如实标注。

三、核心架构与核心概念

3.1 DAG 编程模型

以有向无环图表达数据处理任务:顶点(Vertex)承载处理逻辑,边(Edge)表达数据在顶点间的流转方式,一次提交即由框架编排整个 DAG 的执行(官网首页数据流定义 API 与运行期动态决策口径)。

3.2 Input-Processor-Output 运行时模型

官方设计主题中的灵活运行时模型:数据源(Input)、处理逻辑(Processor)与数据输出(Output)解耦组合,且数据类型无关,便于上层引擎以算子化方式接入。

3.3 AppMaster 与 TaskRunner 执行体系

运行于 YARN 之上的执行框架,作业由 AppMaster 统筹、TaskRunner 执行具体计算(官网 Local Mode 文档以「AppMaster、TaskRunner 等在集群执行作业时使用的组件」表述),并配套 Shuffle Handler 组件(官网独立文档页)与 Tez UI 观测页面(官网 tez-ui.html)。

3.4 Local Mode 本地执行

为无集群开发调试提供的本地运行形态:在单 JVM 内复用绝大多数组件运行作业,用于快速原型、单元测试与易调试的单 JVM 用户代码执行(官网 Local Mode 文档口径)。

四、功能特性

4.1 相对 MapReduce 的执行性能

官网将「相对 MapReduce 的性能收益」与「最优资源管理」列为设计主题,多个 MapReduce 作业可合并为单个 Tez 作业执行,减少落盘与作业启动开销。

4.2 运行期动态优化

支持运行期计划重配置(plan reconfiguration at runtime)与动态物理数据流决策(官网首页设计主题口径),执行计划可在作业运行过程中调整。

4.3 上层引擎承载

Apache Hive、Apache Pig 等项目可以运行在 Tez 之上(官网首页口径),作为其 DAG 执行层。

4.4 本地模式与配套工具

Local Mode 支持无 Hadoop 集群的快速原型、单元测试与调试;配套 Tez UI 提供作业观测页面,Shuffle Handler 提供洗牌数据传输能力(官网文档页口径)。

五、快速上手(引自官方文档,未做本地实测)

5.1 官方 Local Mode 配置

以下配置代码引自官方 Local Mode 文档(来源:https://tez.apache.org/localmode.html ,Apache-2.0 许可),用于在没有 Hadoop 集群的开发机上以本地文件系统运行 Tez 作业:

Configuration conf = new Configuration();
conf.setBoolean(TezConfiguration.TEZ_LOCAL_MODE, true);
conf.set("fs.default.name", "file:///");
conf.setBoolean(TezRuntimeConfiguration.TEZ_RUNTIME_OPTIMIZE_LOCAL_FETCH, true);

若使用 tez-site.xml 配置文件,官方文档要求包含对应条目(fs.default.name 指向本地文件系统、开启 TEZ_LOCAL_MODE 与 TEZ_RUNTIME_OPTIMIZE_LOCAL_FETCH)。

5.2 说明

官方文档强调 Local Mode 是开发调试工具:省去 Hadoop 环境搭建与启动开销、单 JVM 便于调试;但调度与任务进程复用行为、YARN 本地资源处理与集群形态存在差异,必要的数据文件需由客户端随作业加载。

六、适用场景与限制

6.1 适用场景

  • 深度绑定 Hadoop YARN 与 Hive 的存量数据平台:作为 Hive 查询的 DAG 执行层继续使用。
  • 需要将多个 MapReduce 作业合并为单 DAG 以降低中间落盘与调度开销的批处理链路。
  • 依托 Local Mode 进行 DAG 逻辑的单元测试与本地调试。

6.2 限制

  • 生态集中于 Hadoop/YARN 技术栈,与对象存储原生、云原生资源管理的现代数据架构匹配度有限。
  • 活跃度偏低:最后稳定版 2025-05-29,0.10.6 候选版滞留至今未转正,社区规模(stars 521)明显小于同类执行引擎。
  • 对新项目而言,选型对比章明确建议优先评估更活跃的现代执行引擎,Tez 更适合存量系统延续性维护。

七、同类选型对比

7.1 量化对比(2026-10-18 联网实查)

维度Apache Tez 0.10.5Apache SparkHadoop MapReduceApache Hive(执行层视角)
开源许可Apache-2.0Apache-2.0Apache-2.0Apache-2.0
GitHub stars + 最近发版521;0.10.5(2025-05-29)44,237;GitHub 近期标签为 v4.3.0-rc2 等候选(2026-10-12)15,694;3.5.0(2026-04-01)6,031;4.2.1(2026-08-18)
版本节奏低频:0.10.6 候选自 2026-08 滞留未发布高频迭代,多版本线并行推进候选大版本演进慢、补丁稳定高频:4.2.0(2025-11-21)到 4.2.1(2026-08-18)
兼容矩阵深度绑定 Hadoop YARN 与 HDFS 生态自带独立资源管理模式,同时支持 YARN 等部署形态YARN 体系原生组件4.x 可搭配 Tez 等执行引擎(以 Hive 官方文档为准)

数据来源:GitHub 仓库页与 releases.atom 订阅源(apache/tez、apache/spark、apache/hadoop、apache/hive)、Maven Central 版本目录(org/apache/tez);stars 为 2026-10-18 实查值,Spark 近期标签均处于候选阶段,稳定版以官网发布页为准。

7.2 选型建议

存量 Hive on Tez 的 Hadoop 平台建议沿用 Tez 0.10.x 并关注 0.10.6 转正进展;新建批处理与混合负载平台优先选择 Apache Spark 等更高社区活跃度的执行引擎,Tez 不建议作为新项目的默认执行层。

八、参考链接