在IDEA中spark(enableHiveSupport)中使用 insert overwrite时对空表可以正常写入但是如果表不为空就会报错处理方法

本文探讨了在IDEA中使用Spark的insert overwrite语句遇到的问题及解决方案,包括mysql-connector-java版本过低和未开启metastore服务的情况,提供了具体的解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

spark特殊问题

在IDEA中spark(enableHiveSupport)中使用 insert overwrite时对空表可以正常写入但是如果表不为空就会报错处理方法

在网上看到不少回答都是答非所问,或者说更改Project Structre下Modules项目中的Language level 为6 - @Override in interfaces也没用

现象分析与解决方法

1.idea无法正常运行insert overwrite语句
原因有两个:
1)mysql-connector-java版本过低(两种情况)
一个是IDEA中依赖mysql-connector-java版本过低导致报错
一个是hive中依赖mysql-connector-java版本过低,需要我们把新版本mysql-connectr-java的jar包放到hive中的lib中,对于那个旧版本的我们只需在其后面加个如".bike"的后缀让其无法识别即可.
2)只开了hiveserver2 而没开metastore(我就是这原因),因为insert overwrite 必须用到metastore.开启方法
hive --service metastore

解决方法就这样简单,但是网上一些所谓大佬ctrl+c 和ctrl+v的解决方法真心头大!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值