删除托管(非外部)表时,hdfs 上的 Hive 文件不会被删除

2024-01-25

当我从 Hive 交互式命令行删除托管表时,在 hdfs 上创建的基础文件位于/user/hive/warehouse/<databasename>.db仍然存在。当我重新创建具有相同名称的表并尝试执行此操作时,这会导致问题

INSERT INTO TABLE 

因为它仍然包含我在最初的操作中加载到这些分区(在我的例子中是 dt 和 hr 分区)中的数据。仅当我使用

INSERT OVERWRITE TABLE

它最终会正确加载数据吗,但我的 ETL 需要使用INSERT INTO TABLE.

有任何想法吗?我准备好创建相同的表但使用不同的名称,或者只是进入并删除 hdfs 上的内容,但我担心这是否会破坏元存储或其他内容。最后,我确信它是一个托管表而不是外部表。


有时,Hive 会删除表元数据,但无法将文件移至垃圾箱。您检查过权限吗/user/<user>/.Trash?确保 ETL 用户对此文件夹具有适当的权限。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

删除托管(非外部)表时,hdfs 上的 Hive 文件不会被删除 的相关文章

随机推荐