Hive操作——删除表(drop、truncate)
Hive删除操作主要分为⼏⼤类:删除数据(保留表)、删除库表、删除分区。
⼀、仅删除表中数据,保留表结构
hive> truncate table 表名;
drop删除表truncate操作⽤于删除指定表中的所有⾏,相当于delete from table where 1=1.表达的是⼀个意思。
注意:truncate 不能删除外部表!因为外部表⾥的数据并不是存放在Hive Meta store中。创建表的时候指定了EXTERNAL,外部表在删除分区后,hdfs中的数据还存在,不会被删除。因此要想删除外部表数据,可以把外部表转成内部表或者删除hdfs⽂件。
⼆、删除表
hive> drop table if exists 表名;
drop table if exists table_name;
三、删除库
hive> drop database if exists 库名;
注意如果库⾥有表会报错
解决这个错误有两种⽅法:⼀、就是很简单的将所有表先删除完,再删除库。
另外⼀种就是使⽤下述的⽅法:使⽤cascade关键字执⾏强制删库。drop database if exists 库名 cascade;
四、删除hive分区
alter table table_name drop partition (partition_name='分区名')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论