HIVE:外部 Table - 如何清理 user/hive/warehouse/db/table 目录中加载的文件

HIVE : External Table - how do you clean-up the files in loaded in the user/hive/warehouse/db/table directory

根据文档,当我们在 HIVE 中创建一个 EXTERNAL table,然后 DROP table,元数据被更新并且加载到 HDFS 目录中的数据 /user/hive/warehouse//> 还存在吗?

我有两个问题: 1.如何清理/user/hive/warehouse/>中的文件? 2. 当我再次尝试创建 table 并且文件名称相同但数据不同时,HIVE 仓库文件没有更新 应该是?? (我问这个是因为我不确定这是设置问题还是预期行为)

Hive 不会在仓库目录中存储(管理)外部 table 的任何数据文件。它仅将这些 table 的元数据存储在 Metastore 中。

这是 Hive 内部(托管)和外部 table 之间的主要区别。内部 table 拥有 数据,外部 table 只有 知道

更详细的解释here.

要删除外部 table 数据,您需要从 HDFS 位置手动删除它,Hive 在这种情况下仅删除元数据。 要删除 HDFS 文件,您可以使用简单的 rm 命令:

hadoop fs -rm /location_of_data

如果要递归删除,请使用 -rm -R。