热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Hive表被锁定,无法删除表

如果当hive执行一个脚本查询的过程中,由于你的脚本进程遇到不可控的原因被杀死,这时你再去删除hive表中你查询关联到的表是无法删除的。你可以使用命令showlockstablenam

如果当hive 执行一个脚本查询的过程中,由于你的脚本进程遇到不可控的原因被杀死,这时你再去删除hive表中你查询关联到的表是无法删除的。
你可以使用命令 show locks tablename;查看你的表状态

hive> show locks days_album_click_play;
OK
pb_log@days_album_click_play EXCLUSIVE

可以看到此表有一个EXCLUSIVE 锁,即排它锁,所有你的表是无法删除的

解决方法:
1.JPS 查看java进程

[root@10.10.121.58 common]# jps
48828 RunJar
22349 RunJar
37087 -- process information unavailable
33123 Jps

你会发现有两个RunJar 进程,37087进程其实是一个datanode,因为我用的是cloudera,hdfs使用hdfs用户启动的,所有root用户是看不到真实进程名称的。对于这两个RunJar进程一我们需要仔细看一下

2.执行命令 ps -aux | grep 48828

[root@10.10.121.58 common]# ps -aux |grep 48828
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.8/FAQ
root 33190 0.0 0.0 103248 860 pts/0 S+ 07:51 0:00 grep 48828
root 48828 99.6 0.2 926760 286268 ? Sl Apr02 967:42 /opt/soft/jdk1.7/bin/java -Xmx256m -Dhadoop.log.dir=/opt/soft/BI/cloudera/cm/cm5.3.1/cloudera/parcels/CDH-5.3.1-1.cdh5.3.1.p0.5/lib/hadoop/logs -Dhadoop.log.file=hadoop.log -Dhadoop.home.dir=/opt/soft/BI/cloudera/cm/cm5.3.1/cloudera/parcels/CDH-5.3.1-1.cdh5.3.1.p0.5/lib/hadoop -Dhadoop.id.str= -Dhadoop.root.logger=INFO,console -Djava.library.path=/opt/soft/BI/cloudera/cm/cm5.3.1/cloudera/parcels/CDH-5.3.1-1.cdh5.3.1.p0.5/lib/hadoop/lib/native -Dhadoop.policy.file=hadoop-policy.xml -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Stack=true -Dhadoop.security.logger=INFO,NullAppender org.apache.hadoop.util.RunJar /opt/soft/BI/cloudera/cm/cm5.3.1/cloudera/parcels/CDH-5.3.1-1.cdh5.3.1.p0.5/bin/../lib/hive/lib/hive-cli-0.13.1-cdh5.3.1.jar org.apache.hadoop.hive.cli.CliDriver -e use pb_log;?insert overwrite table days_album_click_play?select '2015-04-01', t1.partner_code, t1.album_id, t1.src_id,? if(sum(t1.click_users) is null, 0, sum(t1.click_users)) as click_users,? if(sum(t1.click_times) is null, 0, sum(t1.click_times)) as click_times,? if(sum(t1.play_users) is null, 0, sum(t1.play_users)) as play_users,? if(sum(t1.play_times) is null, 0, sum(t1.play_times)) as play_times,? if(sum(t1.total_length) is null, 0, sum(t1.total_length)) as total_length? from (? select partner_code,album_id,src_id,0 as click_users, 0 as click_times, count(distinct dev_mac) as play_users, count(dev_mac) as play_times, sum (play_length) as total_length? from gitv_log_original where logdate='2015-04-01' and action = 5 and play_type in (1,2) and block_type=0 group by partner_code,album_id,src_id? union all? select partner_code,album_id,src_id,count(distinct dev_mac) as click_users, count(dev_mac) as click_times, 0 as play_users, 0 as play_times, 0 as total_length? from gitv_log_original where logdate='2015-04-01' and action = 3 group by partner_code,album_id,src_id ? )t1 group by t1.partner_code, t1.album_id, t1.src_id;

你会看到这个进程有一个hql的查询,并且处于Sl状态,睡眠状态。

3.执行命令 kill -9 48828

[root@10.10.121.58 common]# kill -9 48828

将进程杀死,对于第二个RunJAR同理,这里不再赘述。

4.这时再删除表就可以了

hive> drop table days_album_click_play;
OK
Time taken: 0.162 seconds

推荐阅读
  • VScode格式化文档换行或不换行的设置方法
    本文介绍了在VScode中设置格式化文档换行或不换行的方法,包括使用插件和修改settings.json文件的内容。详细步骤为:找到settings.json文件,将其中的代码替换为指定的代码。 ... [详细]
  • Java序列化对象传给PHP的方法及原理解析
    本文介绍了Java序列化对象传给PHP的方法及原理,包括Java对象传递的方式、序列化的方式、PHP中的序列化用法介绍、Java是否能反序列化PHP的数据、Java序列化的原理以及解决Java序列化中的问题。同时还解释了序列化的概念和作用,以及代码执行序列化所需要的权限。最后指出,序列化会将对象实例的所有字段都进行序列化,使得数据能够被表示为实例的序列化数据,但只有能够解释该格式的代码才能够确定数据的内容。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
  • 本文讨论了在shiro java配置中加入Shiro listener后启动失败的问题。作者引入了一系列jar包,并在web.xml中配置了相关内容,但启动后却无法正常运行。文章提供了具体引入的jar包和web.xml的配置内容,并指出可能的错误原因。该问题可能与jar包版本不兼容、web.xml配置错误等有关。 ... [详细]
  • Java如何导入和导出Excel文件的方法和步骤详解
    本文详细介绍了在SpringBoot中使用Java导入和导出Excel文件的方法和步骤,包括添加操作Excel的依赖、自定义注解等。文章还提供了示例代码,并将代码上传至GitHub供访问。 ... [详细]
  • Apache Shiro 身份验证绕过漏洞 (CVE202011989) 详细解析及防范措施
    本文详细解析了Apache Shiro 身份验证绕过漏洞 (CVE202011989) 的原理和影响,并提供了相应的防范措施。Apache Shiro 是一个强大且易用的Java安全框架,常用于执行身份验证、授权、密码和会话管理。在Apache Shiro 1.5.3之前的版本中,与Spring控制器一起使用时,存在特制请求可能导致身份验证绕过的漏洞。本文还介绍了该漏洞的具体细节,并给出了防范该漏洞的建议措施。 ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了logistic回归(线性和非线性)相关的知识,包括线性logistic回归的代码和数据集的分布情况。希望对你有一定的参考价值。 ... [详细]
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • [大整数乘法] java代码实现
    本文介绍了使用java代码实现大整数乘法的过程,同时也涉及到大整数加法和大整数减法的计算方法。通过分治算法来提高计算效率,并对算法的时间复杂度进行了研究。详细代码实现请参考文章链接。 ... [详细]
  • 先看官方文档TheJavaTutorialshavebeenwrittenforJDK8.Examplesandpracticesdescribedinthispagedontta ... [详细]
  • Python爬虫中使用正则表达式的方法和注意事项
    本文介绍了在Python爬虫中使用正则表达式的方法和注意事项。首先解释了爬虫的四个主要步骤,并强调了正则表达式在数据处理中的重要性。然后详细介绍了正则表达式的概念和用法,包括检索、替换和过滤文本的功能。同时提到了re模块是Python内置的用于处理正则表达式的模块,并给出了使用正则表达式时需要注意的特殊字符转义和原始字符串的用法。通过本文的学习,读者可以掌握在Python爬虫中使用正则表达式的技巧和方法。 ... [详细]
author-avatar
Era_zhou
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有