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 然后再启动

相关推荐
RPA机器人就用八爪鱼21 小时前
AI与RPA融合:安全挑战与落地实践指南
大数据·人工智能·机器人·rpa
海兰1 天前
利用Elastic构建欺诈检测框架
大数据·人工智能·ubuntu
2501_926978331 天前
从“数字果蝇” 到“数字意识”以及AGI的构建思路
大数据·人工智能·经验分享·算法·ai写作·agi
帮我吧智能服务平台1 天前
开发实战 | 利用“帮我吧”开放API与iPaaS,快速实现售后系统与ERP(金蝶/用友)服务工单集成
大数据
2501_933670791 天前
2026大专大数据科学毕业可以从事哪些岗位?
大数据
小二·1 天前
Go 语言系统编程与云原生开发实战(第34篇)
大数据·云原生·golang
QYR_111 天前
细胞涂片机行业深度解析:自动化技术如何赋能临床诊断与癌症筛查?
大数据·人工智能
AC赳赳老秦1 天前
Web3.0 AI融合趋势:用DeepSeek实现去中心化应用开发与优化实战
大数据·人工智能·数据挖掘·数据分析·web3·去中心化·deepseek
GIS数据转换器1 天前
基于GIS的无人机城市调度与监测平台
大数据·人工智能·信息可视化·数据挖掘·无人机
Guheyunyi1 天前
电气安全管理系统有哪些技术升级
大数据·人工智能·安全·架构·能源