Hive 清空表数据和删除表
原创
hive
清空 Hive 表数据和删除 Hive 表都有几种方法,在这里记录一下。
清空 Hive 表数据
仅删除表中数据,保留表结构。
truncate
truncate
用于删除 hive 表中所有的行数据,这个行为在 hive 元存储删除数据是不可逆的。
truncate table 表名;
delete
delete
用于删除特定条件下的行,使用 where 1=1
也可以删除所有行。
delete from 表名 where 1=1;
需要注意的是:truncate
不能删除外部表!因为外部表里的数据并不是存放在 Hive Metastore 中的。
删除 Hive 表
删除表不仅清空表的数据,也会删除 hive 的表结构,可以使用 drop table
进行删除:
drop table 表名;
如果要永久性删除,不准备再恢复:
drop table 表名 purge;
注意这种 purge
方式的删除,表和数据都不能再恢复,记录彻底抹去。