蜂巢:如果存在<表名>,则删除表不会释放内存

Nag*_*ala 1 hive drop-table

当我DROP TABLE IF EXISTS <Table Name>在蜂巢中使用时,它没有释放内存。文件创建为0000_n.bz2,并且仍在磁盘上。

我在这里有两个问题:

1)这些文件是否每次插入都会持续增长?2)是否有等同于删除磁盘上文件的DROP?

sun*_*nil 6

蜂巢中有两种类型的表。配置单元托管表:如果删除配置单元托管表,则HDFS中的数据将自动删除。

外部表:如果删除外部表,则配置单元不会删除基础数据。

我相信您的是一个外部表。


小智 5

您可以做的几件事:

  • 检查表是否是外部表,在这种情况下,您需要在HDFS上手动删除文件,因为删除表不会删除文件:hadoop fs -rm / HDFS_location / filename

  • 其次,检查您是否在正确的数据库中。您需要在删除表之前发出use database命令。该数据库应与创建表的数据库相同。