在IDEA中spark(enableHiveSupport)中使用 insert overwrite时对空表可以正常写入但是如果表不为空就会报错处理方法
在网上看到不少回答都是答非所问,或者说更改Project Structre下Modules项目中的Language level 为6 - @Override in interfaces也没用
现象分析与解决方法
1.idea无法spark.sql无法正常运行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的解决方法真心头大!
原文地址:https://www.cnblogs.com/qq577288254/p/10271182.html
时间: 2024-10-04 09:50:01