Hive中的锁
在执行insert into或insert overwrite任务时,中途手动将程序停掉,会出现卡死情况(无法提交MapReduce),只能执行查询操作,而drop insert操作均不可操作,无论执行多久,都会保持卡死状态。
查看Hive的中死锁,可以使用show locks [table]来查看。
可以看到里面的那个Type下的EXCLUSIVE,这是一种互斥锁,需要解决,否则后续的查询和插入任务都会影响。
hive存在两种锁,共享锁Shared (S)和互斥锁Exclusive (X)
锁的基本机制是:
-
元信息和数据的变更需要互斥锁
-
数据的读取需要共享锁
触发共享锁的操作是可以并发