問題描述
在使用hive insert overwrite更新分區表的時候出現這個報錯。意思是沒用可用的DataNode了。ide
解決方案
網上看到的相似的解決方案有如下兩種:
但我這裏都不是。blog
我這裏的緣由是hdfs空間被佔滿了,而hive在執行的時候會往/tmp下讀寫大量的臨時數據,因爲沒有空間而報錯。圖片
默認狀況下,hive腳本執行完以後會自動清理掉這些臨時文件。it
這裏之因此出現/tmp下大量文件沒被清理,是由於以前本身有屢次沒等hive腳本執行完就Ctrl +c掉了,因此有大量臨時文件未清理。class
所以,最終的解決方案是刪除掉這些沒用的臨時文件,騰出空間就行了。(最好在全部hive腳本都運行結束後再清理,不然可能會致使正在運行的腳本出現異常)im