spark创建hive表时缺少jar包导致报错 (详细解决方案)

注意:使用 ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.JsonSerDe' 这种方式 需要json中的属性名和表中的字段名保持一致。

假如你使用sparksql去创建hive表,遇到了jsonSerDe 需要导入包

org.apache.hive.service.cli.HiveSQLException: Error running query: org.apache.spark.sql.AnalysisException: org.apache.hadoop.hive.ql.metadata.HiveException: java.lang.RuntimeException: MetaException(message:java.lang.ClassNotFoundException Class org.apache.hadoop.hive.serde2.JsonSerDe not found)

解决方案

建表时,使用org.apache.hive.hcatalog.data.JsonSerDe ,这个类对应的jar是 hive-hcatalog-core-3.1.2.jar

而 org.apache.hadoop.hive.serde2.JsonSerDe 类,对应的jar包是/opt/installs/hive/lib/hive-serde-3.1.2.jar,/opt/installs/hive/lib/hive-common-3.1.2.jar

最终的一个解决方案:可以在spark中,直接把这两个包到 spark的jars 下。

(base) [root@bigdata01 moni_data]# cp /opt/installs/hive/lib/hive-serde-3.1.2.jar /opt/installs/spark/jars/

(base) [root@bigdata01 moni_data]# cp /opt/installs/hive/lib/hive-common-3.1.2.jar /opt/installs/spark/jars/

xsync.sh hive-serde-3.1.2.jar hive-common-3.1.2.jar

需要重启thrift 服务:

这个命令在 spark里的sbin 里。

stop-thriftserver.sh 然后再启动

相关推荐
谁似人间西林客20 小时前
工业大数据时代,企业如何打破数据孤岛?
大数据
zml.~20 小时前
基于 Spark 的新能源汽车大数据分析全流程实践
数据分析·spark·汽车
2501_9481142420 小时前
从 Claude Code 源码泄露看 2026 年 Agent 架构演进与工程化实践
大数据·人工智能·架构
Legend NO2420 小时前
数据资产评估风险识别、分析与管控体系建设
大数据·人工智能·python
火山引擎开发者社区21 小时前
从监控盲区到业务洞察:深入解读 APMPlus 生产指标
大数据·人工智能·microsoft
xiaoduo AI21 小时前
客服机器人可按客户等级差异化回复吗?Agent 系统能否识别 VIP 并优先转接人工?
大数据·人工智能·机器人
G311354227321 小时前
零门槛实现 TRTC 音视频流转推各大直播 CDN
大数据·人工智能·ai·云计算
longxibo21 小时前
【Ubuntu datasophon1.2.1 二开之九:验证离线数据入湖】
大数据·linux·运维·ubuntu
rainy雨21 小时前
精益班组建设通过标准化作业解决现场管理混乱难题,推动精益班组建设落地
大数据·运维·数据挖掘·数据分析·精益工程
Ashley_Amanda21 小时前
UiPath完全指南:从入门到精通
大数据·人工智能