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

相关推荐
forestsea2 小时前
Elasticsearch 集群、Kibana和IK分词器:最新版 9.3.2 手动安装教程
大数据·elasticsearch·搜索引擎
Cx330❀2 小时前
一文吃透Linux System V共享内存:原理+实操+避坑指南
大数据·linux·运维·服务器·人工智能
木子ee2 小时前
LLM×MapReduce: Simplified Long-Sequence Processing using Large Language Models
大数据·语言模型·mapreduce
信-望-爱2 小时前
elasticsearch-analysis-ik各个版本下载
大数据·elasticsearch·搜索引擎
淡定一生23335 小时前
数据仓库建模方法
大数据·数据库·数据仓库
l1t6 小时前
DeepSeek总结的 PostgreSQL 19:为 UPDATE/DELETE 添加 FOR PORTION OF 子句
大数据·数据库·postgresql
老衲提灯找美女6 小时前
数据库事务
java·大数据·数据库
昨夜见军贴06166 小时前
AI报告文档审核助力本地化升级:IACheck如何支撑食品加工行业数据安全与质量协同发展
大数据·人工智能
财经资讯数据_灵砚智能7 小时前
全球财经资讯日报(日间)2026年4月2日
大数据·人工智能·python·语言模型·ai编程
鱼骨不是鱼翅7 小时前
数据处理与统计分析----沙箱
大数据