Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hive.DELETEME1643159643943' doesn't exist
Posted on 2022-01-26 11:24 MissRong 閱讀(658) 評論(0) 收藏 舉報Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hive.DELETEME1643159643943' doesn't exist
解決問題的辦法有兩個:
1. 直接在mysql中 drop 異常提示中的table
mysql>drop table DELETEME1643159643943;
2. 保守的做法,根據DELETEME*表的結構,在Hive中創建不存在的表
CREATE TABLE `DELETEME1643159643943` ( `UNUSED` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1;
通過實踐,第一個方法就能夠解決問題,如果不行可以嘗試第二個方法。
總結:
hive、hadoop的上層異常原因可能很多情況導致,一定要找到真正的問題原因,不能急于嘗試網上異常的解決辦法。hive的元數據依賴關系型數據庫,一定做好數據庫的備份
mysql> use hive;

能夠看到“DELETEME1643159643943”這個表,問題明確了,由于計算的壓力過大,服務器停止響應,mysql也停止了響應,mysql進程被異常終止,在運行中的mysql表數據異常,hive的元數據表異常。
浙公網安備 33010602011771號