记一次Hive库里手动删除表,但是HDFS上还存在表文件奇怪问题

在Hive中手动创建并删除表后,发现HDFS上仍有表文件残留。分析可能原因是Hive元数据库、HDFS权限问题。解决办法包括HDFS重新赋权和重建表。问题可能源于Hive元数据库中表的元信息未清除,导致文件无法彻底删除。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正常在hive库即hive命令行中删除一张表,hdfs上也是同步的被删除的,但是这次发现在hive里手动建了一张表,然后使用drop table 表名后,hive库里的确没发现这张表了,但是HDFS上还是有。

我使用的建表建库语句:

create database test1 location 'hdfs://beh/user/test1/test1.db';   //创建库指定路径
use test1;
create table test1(id int);

删除表的语句:

drop table test1;

不是外部表,并且回收站中也没有该表被删除的信息。

经百度,说是由于Hive权限与HDFS权限分离导致的原因,即Hive权限管理比较弱,/user目录权限为700:

参考网址:https://cloud.tencent.com/info/dfa3e02544bec8e457628fa982e10434.html

但我看了一下,我自己的权限为755,是足够的:

最终我的解决办法是:

(1)对HDFS重新赋权

hadoop fs -chown -R test:test /user/test

hadoop fs -setfacl -R -m user:test:rwx /user/test

(2)重新新建了一个test1表

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值