1.hive truncate table 阻塞

hive truncate table 阻塞


一、问题

1.hive脚本中truncate table时,进入阻塞状态。
2.日志截图:
1.hive truncate table 阻塞_第1张图片
3.脚本内容节选

hive -e "truncate table aero_test_3u.flight;"

二、解决

1.具体操作

设置hive.lock.mapred.only.operation属性为truetruncate
改完的脚本如下所示:

hive -e "set hive.lock.mapred.only.operation=true; truncate table aero_test_3u.flight;"

2.原理

(详细请看https://cwiki.apache.org/confluence/display/Hive/Locking)大概意思,要truncate的表正在被其他进程锁着,当前进程无法获得锁。
设置hive.lock.mapred.only.operation为ture,就是说只有创建至少一个mapreduce的sql操作才会创建锁,而其他类似truncate、drop的操作是不需要获取锁的。

参考链接:

一篇参考博客
官方文档(点击后搜索(to control whether or not only do lock on queries)):
Apache Hive 官方文档

你可能感兴趣的:(Apache,Hive,hive)