现象
删除一张表时,发现执行不报错,但是一直卡住。执行其他表查询或者删除语句正常,查看元数据库字符集正常。锁定问题在于单表,查询HIVE_LOCKS发现该表存在锁。复现原因,执行过程中关闭了session窗口(xshell),导致加锁未释放。(在hive操作过程中强制退出后,会导致锁表,并且unlock命令无效)
解决办法
此时可以去mysql的元数据库中解锁 mysql的元数据中解锁的命令是
不同版本可能表名不同,以下是2.3.x版本hive表
mysql>use hive;
mysql> delete from HIVE_LOCKS;