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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM