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

相关推荐
123_不打狼8 小时前
AI Agent可观测性:破解多步推理黑盒的技术实践
大数据·人工智能
用户3610588626129 小时前
Spark 核心之二次排序、分组取 TopN 优化分析
大数据·spark
fastjson_9 小时前
Hive的介绍和使用
数据仓库·hive·hadoop
ZeekerLin10 小时前
本体论Ontology在企业AI项目落地思考
大数据·人工智能·企业ai落地·本体论
七夜zippoe10 小时前
基于 DolphinDB 构建全流程质量追溯体系:从原材料到成品的全链路追踪
大数据·人工智能·算法·全链路·dolphindb·质量追溯
zzzll111110 小时前
AI Agent可观测性:破解多步推理黑盒的技术实践
大数据·人工智能
没落之王11 小时前
没落之王破天象,易学当兴
大数据·人工智能·哈希算法·可用性测试
金融小师妹17 小时前
多因子智能推演:油价回落6%与黄金震荡上行的关联解析——AI预测框架
大数据·python·深度学习
IanSkunk19 小时前
眼视光中心设备互联与数据安全:从设备采购到患者数字档案的合规路径
大数据