Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'hive.DELETEME1643159643943' doesn't exist
Posted on 2022-01-26 11:24 MissRong 阅读(571) 评论(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的元数据表异常。