hive 锁表 解决方法

hive表执行insert overwrite table_a partition(dt=‘20181121’) select * from table_b 时,报错
FAILED: Error in acquiring locks: Locks on the underlying objects cannot be acquired. retry after some time

  • org.apache.hadoop.hive.ql.lockmgr.LockException: Locks on the underlying objects cannot be acquired. retry after some time

查找了之后,发现时表被锁了;
所有被锁的表都出现了,不好找到自己的表
show locks;
show locks table_a;
如果时下面,表示表是共享锁,可以执行插入操作;
在这里插入图片描述
如果是下面,表示是排他锁,不可以执行插入操作;
在这里插入图片描述
然后执行unlock table table_a
把表解锁之后,在去执行插入还是不成功;
最后,发现table_a表的分区被锁了;
show locks talbe_a partition(dt=‘20181121’)
那么解锁分区,再执行插入操作就可以了
unlock table talbe_a partition(dt=‘20181121’);

详情具体详情

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章