1.hive truncate table 阻塞

    技术2023-05-03  79

    hive truncate table 阻塞


    一、问题

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

    hive -e "truncate table aero_test_3u.flight;"

    二、解决

    1.具体操作

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

    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 官方文档

    Processed: 0.028, SQL: 10