03-Apache Tez 通俗指南:MapReduce 的“高速公路”升级包

03-Apache Tez 通俗指南:MapReduce 的"高速公路"升级包

在 Hadoop 的早期,MapReduce 是绝对的主角,但它有一个被吐槽最多的问题:太慢了 。

虽然 Spark 后来出来了,但 Hadoop 社区为了拯救既有资产(大量的 Hive SQL 任务),推出了 Tez。

如果说 MapReduce 是老式的慢车,Tez 就是对道路和引擎进行了一次彻底的升级。


1. MapReduce 的"笨办法":走这一步看一步

MapReduce 的作业流是非常死板的:

  1. Map 阶段:干活。
  2. 落盘:把结果写进硬盘(HDFS)。
  3. Shuffle/Reduce 阶段:下一个任务读硬盘,再干活。
  4. 再落盘:再写回硬盘。

这就像是一个死板的接力赛:第一棒跑完,必须把接力棒锁进保险箱(硬盘),第二棒再从保险箱里取出来接着跑。中间的开锁、关锁(IO 开销)浪费了大量时间。

2. Tez 的"大局观":DAG (有向无环图)

Tez 的全称是 T ez e xecutes z illions (of tasks)。它引入了一个核心概念:DAG。

  • 全景地图 :MapReduce 只能看到"当前这一步",而 Tez 在任务开始前,会画出一张完整的 "任务流程图" (DAG)。它知道数据从 A -> B -> C 的所有路径。
  • 直通车 (不落盘) :既然知道 B 后面肯定接 C,那 B 算完的结果,直接在内存里传给 C 就行了,不用非得写进硬盘存一下。
  • 合并赛段:以前 A->B 是一个任务,B->C 是另一个任务。Tez 把它们合并成一个大任务,一气呵成。

通俗类比:

  • MapReduce :像是坐公交车。每到一站(阶段)必须停下来,乘客下去,下一波乘客上来,再启动。
  • Tez :像是定制专车 。根据终点规划最优路线,中间红绿灯少,且中途不停球,直接送达。

3. Tez 带来的改变

  • 对于 Hive :以前 Hive on MapReduce 慢得像蜗牛。现在只需改个配置变成 Hive on Tez,现有的 SQL 不用改,速度直接提升几倍甚至几十倍。
  • 动态规划:Tez 还能在运行时根据数据量大小,动态调整跑道(调整并发度),比死板的 MapReduce 聪明得多。

总结

Tez 是为了拯救 MapReduce 架构 而生的优化器。它通过减少硬盘读写 和全局路径规划,让老旧的批量计算任务也能跑出"跑车"的感觉。

相关推荐
演艺大赏3 小时前
NiFi 的权限模型不是 RBAC:users.xml、authorizers.xml 与组件级策略
大数据
yuanyuan3345 小时前
2026枣庄带检测报告伸缩门品牌测评|本地服务
大数据·数据库·人工智能·伸缩门
玖米GEO运营王总监7 小时前
2026年账号矩阵协同效应怎么量化:三个指标与公式结构
java·大数据·数据库
飞飞传输19 小时前
飞驰云联文件交换建设方法论:从单点传输到持续治理
大数据·运维·安全
得帆低代码PaaS19 小时前
企业级 Agent 架构:MCP、Integration、数据与治理能力
大数据·人工智能·架构·ai agent·企业数字化·mcp
TDengine (老段)1 天前
TDengine IDMP 十大实用功能(9)
大数据·数据库·人工智能·物联网·时序数据库·tdengine·idmp
播播资源1 天前
同账户实测 11 个多模态模型:图像 0.03 元起、竖屏视频 8 元一条,最贵和最便宜差 267 倍
大数据·人工智能·深度学习
全栈陈序员1 天前
Git】从入门到精通(八)—— git log:查看提交历史
大数据·git·elasticsearch
演艺大赏1 天前
NiFi 从 3 台扩到 25 台:三轮扩容后我才明白,证书必须全量重签、安装包绝对不能拷
大数据
做科研的周师兄1 天前
【R语言实战】MixSIAR 氢氧同位素水源解析全流程:从混合空间校验到贝叶斯 MCMC 收敛诊断(后附完整代码)
java·大数据·开发语言