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

相关推荐
做cv的小昊6 小时前
【TJU】信息检索与分析课程笔记和练习(3)学术评价
大数据·人工智能·经验分享·笔记·学习·全文检索
Jackyzhe6 小时前
Flink源码阅读:Checkpoint机制(上)
大数据·flink
武子康6 小时前
大数据-190 Filebeat→Kafka→Logstash→Elasticsearch 实战
大数据·后端·elasticsearch
西格电力科技6 小时前
绿电直连架构适配技术的发展趋势
大数据·服务器·数据库·架构·能源
不光头强7 小时前
git命令速查表
大数据·git·elasticsearch
山东小木7 小时前
A2UI:智能问数的界面构建策略
大数据·人工智能·jboltai·javaai·springboot ai·a2ui
龙山云仓7 小时前
No098:黄道婆&AI:智能的工艺革新与技术传承
大数据·开发语言·人工智能·python·机器学习
管理大亨7 小时前
电商零售ELK应用:五大核心场景解析
大数据·elk·零售
管理大亨7 小时前
光伏大棚智慧管理:ELK数据中枢
大数据·运维·elk·elasticsearch