SparkSQL 之 Spark On Hive 原理分析及配置

发布时间:2026/8/21 10:20:13

SparkSQL 之 Spark On Hive 原理分析及配置
摘要Spark on Hive 与 Hive on Spark 常被混淆——前者 Spark 是主角访问 Hive 元数据后者 Hive 用 Spark 作执行引擎。本文从 enableHiveSupport() 启动流程、HiveExternalCatalog、Metastore 集成、SerDe/UDF、Thrift Server 多用户方案、以及两者对比六个维度全面解析。关键词Spark on Hive, enableHiveSupport, Hive Metastore, HiveExternalCatalog, Thrift Server一、开篇Spark on Hive ≠ Hive on SparkSpark on Hive: Spark 是主角 → enableHiveSupport() 访问 Metastore 获取表结构 → Spark 引擎读写 Hive 表 Hive on Spark: Hive 是主角 → set enginespark HiveServer2 接收 HQL → RSC → Spark Executor二、架构全景enableHiveSupport() 做了什么valsparkSparkSession.builder().config(spark.sql.warehouse.dir,hdfs://...).enableHiveSupport()// ← 核心入口.getOrCreate()// ① 加载 hive-site.xml// ② 创建 HiveSessionStateBuilder// ③ 实例化 HiveExternalCatalog → 连接 Metastore// ④ 加载 Hive UDF · Hive SerDe// ⑤ spark.sql(show tables) 直接查询 Hive 表Metastore 集成spark.sql(SELECT * FROM hive_db.hive_table)// 直接查 Hive 表spark.table(hive_db.hive_table)// DataFrame API// 与 Hive 共享同一套元数据数据写入 HDFS Warehouse三、核心对比Spark on HiveHive on Spark主角SparkHive入口enableHiveSupport()set enginesparkSQL接口spark.sql()Beeline→HiveServer2优化器Catalyst(更强)Hive OptimizerJDBC服务Thrift Server(10016)HiveServer2(10000)四、Thrift Server$SPARK_HOME/sbin/start-thriftserver.sh\--masteryarn--executor-memory 4g# Beeline: jdbc:hive2://host:10016五、完整配置!-- hive-site.xml --hive.metastore.uristhrift://host:9083// spark-defaults.confspark.sql.warehouse.dirhdfs://...spark.sql.catalogImplementationhive spark.sql.hive.convertMetastoreParquettrue作者starzy博客blog.starzy.cnGitHubstarzy1990.github.io专注 AI Agent · LangGraph · RAG · 大数据架构 · 数据工程实践

相关新闻

本地AI模型部署全攻略:从硬件选型到环境配置实战指南

本地AI模型部署全攻略:从硬件选型到环境配置实战指南

2026/8/21 10:20:13

最近在尝试本地部署AI模型时,你是否也卡在了第一步——面对琳琅满目的硬件配置和复杂的软件环境,不知从何下手?是咬牙上顶级显卡,还是用现有设备凑合?模型下载后为何报错连连,环境配置为何总出问题&#xf…

FanControl风扇控制软件完整上手教程:免费开源免安装,5分钟实现Windows风扇智能调速

FanControl风扇控制软件完整上手教程:免费开源免安装,5分钟实现Windows风扇智能调速

2026/8/21 10:20:13

FanControl风扇控制软件完整上手教程:免费开源免安装,5分钟实现Windows风扇智能调速 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址:…

三个平台同时“白嫖“视频号、抖音和小红书资源?这款免费跨平台资源嗅探下载工具真的能做到

三个平台同时“白嫖“视频号、抖音和小红书资源?这款免费跨平台资源嗅探下载工具真的能做到

2026/8/21 10:20:13

三个平台同时"白嫖"视频号、抖音和小红书资源?这款免费跨平台资源嗅探下载工具真的能做到 【免费下载链接】res-downloader 视频号、小程序、抖音、快手、小红书、直播流、m3u8、酷狗、QQ音乐等常见网络资源下载! 项目地址: https://gitcode.com/GitHub…

AI驱动Ada/SPARK形式化验证:从代码生成到可证明安全的范式革命

AI驱动Ada/SPARK形式化验证:从代码生成到可证明安全的范式革命

2026/8/21 11:20:15

1. 从“程序员即法官”到“证明器即法官”:一个安全范式的根本转变“The Prover Is the Judge”,这个标题初看有些哲学意味,但如果你在安全关键或高可靠性软件开发领域摸爬滚打过,就会立刻明白它所指向的是一场静默但深刻的革命。…

用 Zig 和 GTK4 构建现代化 SSH 密钥密码图形化输入工具

用 Zig 和 GTK4 构建现代化 SSH 密钥密码图形化输入工具

2026/8/21 11:20:15

如果你在 Linux 桌面环境下使用 SSH 密钥,并且密钥设置了密码,那么你一定遇到过这个场景:每次 git push 、 ssh 连接服务器,甚至 rsync 同步文件时,终端都会弹出一个简陋的、基于终端的密码输入提示。这个提示不…

OpenAI API 集成实战:从环境配置到命令行助手开发

OpenAI API 集成实战:从环境配置到命令行助手开发

2026/8/21 11:20:15

1. 背景与核心概念:OpenAI 的技术生态与开发者价值在当今的软件开发与人工智能领域,OpenAI 已经成为一个无法绕开的名字。对于广大开发者而言,它并非一个遥不可及的商业概念,而是一系列切实可用的强大工具和 API 接口的集合。简单…

GNSS干扰下NTP时间同步性能实测:普通NTP与抗干扰NTP对比

GNSS干扰下NTP时间同步性能实测:普通NTP与抗干扰NTP对比

2026/8/21 11:20:15

这次我们来看一个在GNSS干扰环境下,NTP时间同步服务性能对比的实测项目。对于依赖精准时间的金融交易、通信基站、数据中心和工业控制系统来说,GNSS(全球导航卫星系统)信号是获取高精度UTC时间的主要来源。然而,GNSS信…

软件工程智能体(SE Agent)构建实践:从评估驱动到渐进式增强

软件工程智能体(SE Agent)构建实践:从评估驱动到渐进式增强

2026/8/21 11:20:15

1. 项目概述:从“玩具”到“工友”,SE Agent的实践之路最近和几个在一线大厂做架构和工具链的朋友聊天,话题总绕不开“AI编程助手”。大家普遍的感觉是,Copilot这类工具确实提升了“写代码”的效率,但离我们理想中那个…

三极管实战指南:从电流控制开关到共射放大电路设计

三极管实战指南:从电流控制开关到共射放大电路设计

2026/8/21 11:10:15

1. 这篇文章真正要解决的问题 当你第一次翻开模电教材,看到三极管密密麻麻的公式和特性曲线时,是不是感觉头大如斗?很多初学者都卡在了这里:为什么一个三极管能放大电流?基极电流那么小,怎么就能控制集电极…

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

2026/8/19 3:36:59

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

【双层规划,节点出清价,绿证交易,CVaR方法】两级电力市场环境下计及风险的省间交易商最优购电模型附Matlab代码

2026/8/20 21:07:35

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

隐式mpc+自适应mpc+时变mpc,线性时变模型预测控制附Simulink仿真

2026/8/19 8:02:16

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

091、主从同步控制策略

091、主从同步控制策略

2026/8/21 0:09:47

091、主从同步控制策略:从一次多轴抖动事故说起 去年调试一台四轴龙门平台,Z轴和两个X轴做主从同步。电机选的是台达A2系列,驱动器工作在位置模式,主站发脉冲指令,从站硬线跟随。调试时发现一个诡异现象:当主站以500rpm匀速运行时,从站电流波形每隔几秒会出现一次毛刺,…

向量检索实验失败后该查什么

向量检索实验失败后该查什么

2026/8/21 0:09:47

向量检索实验失败后该查什么 这篇要解决什么 向量检索实验失败后该查什么讨论的是一个可复查的工程问题。向量检索实验失败后该查什么不拿未经记录的事故、跑分或成本当作论据;判断需要回到当前项目的输入、版本和运行条件。 从边界开始 处理向量检索实验失败后该查…

提示词发布过程中的止损边界

提示词发布过程中的止损边界

2026/8/21 0:09:47

提示词发布过程中的止损边界 这篇要解决什么 提示词发布过程中的止损边界讨论的是一个可复查的工程问题。提示词发布过程中的止损边界不拿未经记录的事故、跑分或成本当作论据;判断需要回到当前项目的输入、版本和运行条件。 从边界开始 处理提示词发布过程中的止损…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/17 12:00:53

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/15 10:10:27

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/18 12:20:24

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…