尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
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 · 大数据架构 · 数据工程实践
RELATED

相关推荐

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

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

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

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

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

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

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

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

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

📅 2026/9/11 9:32:12
MORE NEWS

更多资讯

📰

T3技术栈实战:用tRPC+Prisma打造代码片段管理工具

如果你常刷全栈圈,对“T3”这个词应该不陌生——Next.js、TypeScript、Tailwind 和 tRPC 的组合拳。t3code 这个项目,名字里就写了一半答案:T3 技术栈 code 管理。简单说,这是一个用 T3 全家桶搭建的个人代码片段管理工具&#x…

📰

MATLAB 2021a 实现小球弹射强化学习控制

简介:本资源是面向深度强化学习初学者与控制算法研究者的MATLAB仿真实践项目,聚焦小球弹射这一典型连续控制任务,系统对比DDPG与TD3两种主流确定性策略梯度算法在稳定性、收敛性与抗过估计能力上的差异。压缩包共18个文件,含11个核…

📰

SpringBoot蛋糕店系统:入门级可交付业务闭环实践

简介:本资源是一套完整的基于SpringBoot的毕业设计级电商系统,面向计算机专业本科生及Java全栈初学者,聚焦线上蛋糕零售场景,提供从需求分析、系统开发到部署落地的全流程实践范例。压缩包共5个文件,含SpringBootVue前…

📰

SpringBoot 三层架构里 DTO 该放哪一层:从鸿蒙登录接口返回密码说起

答辩前一周,我给鸿蒙 App 配的后端 lifeApp0110 已经跑通了登录、待办和图标三个模块。技术栈很普通:SpringBoot 2.3.4、MyBatis 2.1.4、MySQL 5.x,包名 com.qf.lifeapp0110,用 Controller ResponseBody 把对象直接转成 JSON 回给…

📰

SpringBoot2.7+MyBatis-Plus+MySQL5.7校园小程序实战

简介:这是一套面向高校开发者与Java全栈学习者的校园生活服务类微信小程序完整源码,聚焦学生群体高频需求——跑腿代办、快递代取与校园社交脱单,基于SpringBootMybatis-PlusMySQL技术栈实现前后端分离架构。资源包共1792个文件,涵…

📰

W5500 DHCP实战:状态机控制、realnde PHY协同与保底机制

简介:本资源是面向嵌入式开发工程师与物联网初学者的W5500以太网控制器DHCP功能实践代码包,解决设备在局域网中自动获取IP地址、子网掩码、网关及DNS等网络参数的核心需求,适用于基于STM32、ESP32等MCU平台接入W5500的网络通信项目。压缩包为…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬