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

相关推荐
龙亘川8 分钟前
城管住建领域丨市政设施监测功能详解——桥梁运行监测系统(2)、管廊运维监测系统(3)
大数据·运维·人工智能·物联网·政务
2501_9209538615 分钟前
行业内比较好的6S管理咨询平台
大数据·运维·人工智能
上海乐备实生物18 分钟前
肝硬化生物标志物检测技术研究及应用进展
大数据·乐备实·labex·生物标志物·多因子检测·肝硬化·多重细胞因子检测
TDengine (老段)1 小时前
TDengine Go 语言连接器进阶指南
大数据·数据库·物联网·golang·时序数据库·tdengine·涛思数据
~央千澈~1 小时前
从阅文招聘JD看网文平台算法化-网文平台拥抱科技·卓伊凡
大数据·人工智能
房产中介行业研习社1 小时前
2026年1月房产中介管理系统哪家好用
大数据·人工智能
deepdata_cn1 小时前
零售门店:浅数据看客流,大数据看区域,深数据挖消费动机
大数据·零售·深数据·浅数据
xiatianxy1 小时前
登高作业安全难题如何破?
大数据·人工智能·科技·物联网·安全·智能安全带
开源能源管理系统1 小时前
MyEMS开源能源管理系统:赋能平板玻璃行业绿色低碳生产
大数据·开源·能源·能源管理系统·平板玻璃
萤丰信息1 小时前
科技赋能智慧园区:解码绿色转型的“数字密码”
java·大数据·人工智能·科技·安全·智慧城市·智慧园区