Hive on Tez/Spark 执行引擎对比与优化
在大数据开发中,Hive 已经成为最常用的数据仓库工具之一。随着业务数据规模的不断扩大,Hive 默认的 MapReduce 执行引擎 显得笨重低效。为了提升查询性能,Hive 支持了 Tez 和 Spark 作为底层执行引擎。本文将带你对比 Hive on Tez 与 Hive on Spark 的区别,并分享调优经验。
一、Hive 执行引擎的发展历程
-
Hive on MapReduce(早期默认)
- 基于 MR 执行,稳定但速度慢;
- 每个 SQL 查询都需要多个 MR Job,启动开销大。
-
Hive on Tez(Apache Tez)
- MapReduce 的改进版,采用有向无环图(DAG)模型;
- 避免了不必要的中间结果落盘,性能显著提升。
-
Hive on Spark
- 利用 Spark 的内存计算优势;
- 更适合复杂 SQL 与交互式查询。