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

相关推荐
Daydream.V22 分钟前
Python Flask超全入门实战教程|从零基础到项目部署
大数据·python·flask
SmartBrain4 小时前
AI全栈开发(SDD):慢病管理系统工程级设计
java·大数据·开发语言·人工智能·架构·aigc
zandy10114 小时前
2026 BI平台与数据中台融合架构实践:从数据烟囱到统一智能数据层
大数据·架构·spark
金智维科技官方6 小时前
圆桌对话:从流程自动化到智能流程,AI落地的下一站在哪里?
大数据·人工智能·ai·自动化·智能体
Volunteer Technology7 小时前
集群基础环境搭建(二)
大数据·flink·apache
郑小憨7 小时前
zookeeper内部原理 (进阶介绍 三)
大数据·分布式·zookeeper
厌灵泽(后端小白)7 小时前
Windows11本地安装Zookeeper(最新)
大数据·windows·zookeeper·笔记本电脑
寻道模式8 小时前
【时间之外】私有化部署AI的3个优点和3个缺点
大数据·人工智能·ollama·私有化·genericagent
郑寿昌8 小时前
2026脑机接口与大模型融合架构解析
大数据·人工智能·架构
涤生大数据9 小时前
大数据面试高频题:row_number() 数据倾斜到底怎么解决?
java·大数据·面试