Hive中分區表修復問題


本次排錯參考:
https://leongfeng.github.io/2016/09/23/hive-commands/
https://blog.csdn.net/yisun123456/article/details/84756064

最近通過使用指定location的方式建表在數據遷移的工作上省去了不少時間,但是在實際查看時經常發現一個問題:
分區表經常會顯示沒有數據。

本來以為只是新的hive所在服務器沒有存儲原分區表信息,可以msck repair修復即可。

msck repair table partiiton_table_name;

  

然而某一個分區表在運行時突然報錯了。

1 FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask

 

?????
百度了一下就究竟是什么情況,但發現出錯的原因卻千奇百怪。

在搜尋一番之后找到了方法:

1 set hive.msck.path.validation=ignore;

 

執行這一句commond后在執行msck repair,分區表正常的修復並獲取到數據。

然而這個問題的起因卻比較值得研究。
根據參考的資料:Hive從1.3版本開始就會對分區相關的信息進行檢測,如果使用了hive不識別的字符,就會報錯。
有點意思。



作者:灰色的傑
鏈接:https://www.jianshu.com/p/e7d7b643f076
來源:簡書
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。


免責聲明!

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



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