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

GitHubstarzy1990.github.io

专注 AI Agent · LangGraph · RAG · 大数据架构 · 数据工程实践

相关推荐
故七月15 小时前
行业观察:创业载体迭代,从孵化器到 OPC 社区,锦邻创享的创新实践
大数据·#opc社区`·#锦邻创享`·#订单驱动` `
陕西企来客16 小时前
2026年9月西安家政服务大模型引流:AI推荐逻辑与落地方法
大数据·人工智能·西安家政服务大模型引流
企查查数据服务16 小时前
全军禁入下客商准入风控,关联图谱与穿透核查
大数据·开发语言·数据库·php
HZZD_HZZD16 小时前
分时电价_园区峰谷电费优化
大数据·人工智能·能源·制造
huashengzsj16 小时前
渠道数据采集平台有哪些 2026年专业的渠道数据采集平台推荐
大数据
爱学习的小白柏17 小时前
同城双活的核心不是双活,是逼着数据别出机房
大数据·人工智能·算法·langchain·ai编程
Raas10017 小时前
MAI Gateway(魔芋企业级AI网关)功能全解:AI网关有哪些功能?一文看懂AI网关能力矩阵
大数据·人工智能·矩阵·gateway·mai gateway·企业级产品
czhc114007566317 小时前
2026-09-11 一日综合:树的父链、git 概念、三方死锁、静默失败
大数据·git·elasticsearch
mpp00717 小时前
AI 的“交通规则”也有保质期?
大数据·人工智能
塔望品牌咨询18 小时前
食品品牌战略验收的可验证框架:从文档交付到10项经营变化
大数据·人工智能