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

Posted qq577288254

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spark特殊问题 在IDEA中spark(enableHiveSupport)中使用 insert overwrite时对空表可以正常写入但是如果表不为空就会报错处理方法相关的知识,希望对你有一定的参考价值。

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







以上是关于spark特殊问题 在IDEA中spark(enableHiveSupport)中使用 insert overwrite时对空表可以正常写入但是如果表不为空就会报错处理方法的主要内容,如果未能解决你的问题,请参考以下文章

Intellij Idea搭建Spark开发环境

在idea中调试spark程序-配置windows上的 spark local模式

用idea调试Spark独立集群

spark关于使用idea来编辑scala程序使用spark的问题

IDEA本地运行spark生成数据到hive中出错

在 Spark 表列名中保留特殊字符