news 2026/8/21 20:24:17

SparkSQL 之 Hive On Spark 原理分析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
SparkSQL 之 Hive On Spark 原理分析

摘要:Hive on Spark 让传统 Hive 数仓跑在 Spark 引擎上。本文从 RSC 远程作业提交机制、HQL 编译 6 步、MR/Tez/Spark 三引擎对比、完整配置清单四个维度,配合 2 张架构图,彻底解析 Hive on Spark 原理。

关键词:Hive on Spark, RSC, Remote SparkContext, SparkClient, hive.execution.engine


一、开篇

传统 Hive 默认使用 MapReduce,每个 Stage 写 HDFS。Hive on Spark 将 Spark 作为执行引擎:RDD 内存迭代 + Catalyst 优化。

引擎演变: MR(1x) → Tez(10~100x) → Spark(100x+) 切换: set hive.execution.engine=spark;

二、架构全景 — RSC 核心机制

RSC (Remote Spark Context) = Hive 内嵌的轻量 Spark Driver ① HiveServer2 接收 HQL → ② SparkClient 创建 ③ RemoteDriver 向 YARN 提交 → ④ 启动 RSC ⑤ YARN 分配 Executor → ⑥ JobMonitor 监控

三、HQL 编译 & 引擎对比

HQL 编译 6 步

① 解析(AST) → ② 语义分析(Metastore) → ③ 逻辑优化 ④ SparkTask(Operator Tree→SparkWork) → ⑤ SparkCompiler(RDD Transform) ⑥ SparkClient.submit → Executor 执行

引擎对比

MRTezSpark
速度1x10~100x100x+
中间结果HDFS磁盘内存PipelineRDD内存
适用已淘汰纯SQL迭代/ML

四、配置清单

<!-- hive-site.xml -->hive.execution.engine=spark spark.master=yarn spark.yarn.jars=hdfs://namenode/spark-jars/*<!-- 必配! -->
# spark-defaults.conf spark.executor.memory=4g spark.dynamicAllocation.enabled=true spark.shuffle.service.enabled=true

五、总结

  1. RSC:Hive 内嵌 Driver,通过 SparkClient 向 YARN 提交作业。
  2. 引擎选择:Tez 纯 SQL 更快,Spark 迭代/ML 更优。
  3. 配置关键:spark.yarn.jars 必配 + Dynamic Allocation。

作者:starzy
博客:blog.starzy.cn
GitHub:starzy1990.github.io
专注 AI Agent · LangGraph · RAG · 大数据架构 · 数据工程实践

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/21 20:22:07

Project Graph 节点图快速上手指南:把散乱思路变成能拖拽的图

Project Graph 节点图快速上手指南&#xff1a;把散乱思路变成能拖拽的图 【免费下载链接】project-graph A node-based visual tool for organizing thoughts and notes in a non-linear way. 项目地址: https://gitcode.com/gh_mirrors/pr/project-graph 脑子里的想法…

作者头像 李华
网站建设 2026/8/21 20:20:54

NoFences:免费开源的 Windows 桌面图标分区工具

NoFences&#xff1a;免费开源的 Windows 桌面图标分区工具 【免费下载链接】NoFences &#x1f6a7; Open Source Stardock Fences alternative 项目地址: https://gitcode.com/gh_mirrors/no/NoFences NoFences 是一款完全免费、开源的 Windows 桌面图标分区工具。它把…

作者头像 李华
网站建设 2026/8/21 20:20:24

制造业物料控制(MC)与MRP实战解析:从职责到SAP系统实现

大家好&#xff0c;我是深耕制造业信息化与供应链管理多年的技术博主。在日常工作中&#xff0c;无论是实施SAP、Oracle等ERP系统&#xff0c;还是进行内部流程优化&#xff0c;物料控制&#xff08;MC&#xff09;与物料需求计划&#xff08;MRP&#xff09;都是绕不开的核心模…

作者头像 李华
网站建设 2026/8/21 20:19:02

人形机器人航空运输合规指南:锂电池安全与IATA规范实战

1. 这篇文章真正要解决的问题 最近&#xff0c;一则关于“人形机器人被美航西南航禁运”的消息在技术圈和物流行业引发了不小的讨论。很多开发者、机器人公司以及跨境电商从业者的第一反应是困惑和焦虑&#xff1a;这只是一个孤立的航空安全事件&#xff0c;还是标志着人形机器…

作者头像 李华