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 优化。

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

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

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

三、HQL 编译 & 引擎对比

HQL 编译 6 步

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

引擎对比

MR Tez Spark
速度 1x 10~100x 100x+
中间结果 HDFS磁盘 内存Pipeline RDD内存
适用 已淘汰 纯SQL 迭代/ML

四、配置清单

xml 复制代码
<!-- hive-site.xml -->
hive.execution.engine=spark
spark.master=yarn
spark.yarn.jars=hdfs://namenode/spark-jars/*  <!-- 必配! -->
properties 复制代码
# 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 · 大数据架构 · 数据工程实践

相关推荐
P1Browser13 小时前
账号触发平台安全审核?拆解标准申诉流程与材料清单
大数据·人工智能·安全·多账号管理·指纹浏览器·账户安全·运营合规
云南新人和数采集团20 小时前
云南靠谱软件开发公司选型指南:以昆明新腾科技为例
大数据·人工智能·科技
AllData公司负责人20 小时前
AI大模型数据开发底座系列说明书:AllData集成DB-GPT开源项目建设 AI 多模态分析底座,涵盖模态解析/智能大屏/MCP 扩展!
大数据·数据库·人工智能·gpt·数据采集·数据接入·模态解析
Lansonli1 天前
大数据Spark(八十八):Spark任务资源之Standalone集群测试
java·服务器·spark
wno7041 天前
常用的Git命令清单
大数据·git·elasticsearch
YIN_尹2 天前
【git原理与使用】git基本操作及底层原理(二)
大数据·git·elasticsearch
武子康2 天前
H3-World 写了 CPU offload,为什么还不能保证塞进 48GB?
大数据·人工智能·深度学习
演艺大赏2 天前
Doris 数据导出实战:SeaTunnel、EXPORT 与 OUTFILE 性能对比及 9.5 亿行写入故障复盘
大数据
isfox2 天前
MapReduce 作业慢?别乱调参数,先找到瓶颈在哪
大数据
玩美数据2 天前
市场调研数据分析与数据集驱动的行业格局变革深度解析
大数据·人工智能