Hive中元数据表的关系和如何在元数据中删除表

各表之间主键的关系图
在这里插入图片描述
这个整理很不容易呀,能够更好地了解他们,其中有一种场景需要使用的

传统的方法删除这张表:

方式一:仅删除表中数据,保留表结构

truncate table 表名;

(truncate用于删除所有的行,这个行为在hive元存储删除数据是不可逆的)
或 delete from 表名 where 1 = 1 ;

(delete用于删除特定条件下的行,使用where 1=1 删除所有行 SQL中where 1 = 1 的使用)

truncate 不能删除外部表!因为外部表里的数据并不是存放在Hive Meta store中

方式二:删除整个表

drop table 表名;
如果要永久性删除,不准备再恢复:
drop table 表名 purge;

使用场景:

不在Hive/Spark中删除分区表,请在元数据中删除表
当:yarn的版本和hadoop版本不匹配
yarn的版本高于hadoop的
这时传统方法就不行了

解决问题

知道各表之间主键的关系图
然后在元数据中一个一个删除了(没有什么捷径了, 乖乖删除吧,这是高危操作,要注意流程)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值