HIVE数据库中删除表卡住不动

在网上搜了一天,全都是说MySQL字符编码问题或者驱动版本问题。但我改了一天还是没用。最后终于找到解决方法:

.
hive1.2.2E:\Hive\apache-hive-2.1.1-bin\conf\hive-site.xml里面配置
<property>
<name>hive.metastore.schema.verification</name>
<value>true</value>
</property>.修改了以上配置后,再删除会发现还是不行,原因是在MySQL中的hive元数据库中的hive_locks表中将表上了锁,需要将其中的数据删除。

在hive操作过程中强制退出后,会导致锁表,并且unlock命令无效,此时可以去mysql的元数据库中解锁
mysql的元数据中解锁的命令是:

mysql>use hive;

mysql> delete from HIVE_LOCKS;

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 如果在使用SparkSQL连接Hive时出现找不到Hive数据库Hive表的情况,可能是以下几个原因: 1. Hive Metastore未启动或连接失败:Hive Metastore是Hive的元数据存储服务,如果未启动或连接失败,就无法找到Hive数据库或表。可以通过检查Hive Metastore的日志或者使用Hive命令行工具连接Hive Metastore来排查问题。 2. SparkSQL配置错误:在连接Hive时,需要正确配置SparkSQL的相关参数,如hive.metastore.uris、hive.exec.dynamic.partition.mode等。如果配置错误,也会导致找不到Hive数据库或表。可以检查SparkSQL的配置文件或者在代码设置相关参数来解决问题。 3. Hive数据库或表不存在:如果确保Hive Metastore已经启动并且SparkSQL配置正确,但仍然找不到Hive数据库或表,可能是因为它们不存在。可以使用Hive命令行工具或者Hue等工具来检查Hive是否存在对应的数据库或表。如果不存在,需要先创建它们。 总之,找不到Hive数据库或表的问题可能有多种原因,需要逐一排查。 ### 回答2: 当我们使用SparkSQL连接Hive时,可能会出现找不到Hive数据库Hive表的情况。这种情况通常出现在以下几种情况: 1. 没有正确配置Hive的环境变量:在连接Hive之前,SparkSQL需要正确配置Hive的环境变量。如果环境变量配置不正确,就会出现找不到Hive数据库Hive表的问题。在Linux系统,可以在.bashrc或.bash_profile文件添加以下环境变量: export HIVE_HOME=/usr/local/hive export PATH=$HIVE_HOME/bin:$PATH 2. Hive的元数据未被正确加载:当我们使用SparkSQL连接Hive时,需要确保Hive的元数据已被正确加载。如果元数据加载不正确,就会出现找不到Hive数据库Hive表的问题。我们可以通过在Hive命令行执行“show databases;”和“show tables;”命令来检查元数据是否正确加载。如果元数据未被正确加载,可以尝试在Hive命令行执行“MSCK REPAIR TABLE tablename;”命令来修复元数据。 3. Hive和SparkSQL的版本不匹配:当我们使用SparkSQL连接Hive时,需要确保Hive和SparkSQL的版本匹配。如果版本不匹配,就会出现找不到Hive数据库Hive表的问题。我们可以通过在SparkSQL的log查看详细的错误信息来判断版本是否匹配。如果版本不匹配,我们需要更新Hive或SparkSQL的版本以确保它们匹配。 总之,我们在使用SparkSQL连接Hive时,需要注意以上问题,确保Hive的环境变量正确配置、元数据正确加载以及Hive和SparkSQL的版本匹配,这样就可以避免找不到Hive数据库Hive表的问题。 ### 回答3: SparkSQL是Spark的一个组件,它提供了一套基于SQL的API,方便用户在Spark上处理结构化数据。与Hive结合使用可以进一步拓展SparkSQL的能力。但有时在连接Hive时会遇到找不到Hive数据库Hive表的情况。这通常有以下几种可能性: 1. Hive Metastore问题 Hive需要Metastore来存储元数据,包括数据库、表、列、分区等信息,而SparkSQL也依赖于Metastore。如果Hive Metastore挂了或者配置不正确,就会导致SparkSQL连接不上Hive数据库或表。解决方法是检查Hive Metastore的状态和配置,确保其可用。 2. Hive和SparkSQL版本不兼容 不同版本的Hive和SparkSQL之间可能存在不兼容的情况,导致连接失败。可以先检查Hive和SparkSQL的版本兼容性,如果版本不一致需要更新版本或者将SparkSQL降级以保证兼容。 3. 配置问题 在连接Hive时需要配置一些参数,如Hive Metastore的地址、用户名、密码等。如果这些配置有误或缺失,就会导致连接不上Hive数据库或表。需要检查配置文件的参数设置是否正确。 4. Hive繁忙 如果Hive正在进行大量的计算任务,可能会导致Hive数据库或表无法连接。此时需要等待Hive任务完成后再次尝试连接。 总之,当SparkSQL无法连接Hive数据库或表时,需要仔细排查以上问题,以及其他可能存在的问题,找到根本原因并解决它。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值