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

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的解决方法真心头大!

你可能感兴趣的:(特殊问题)