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

zdwk9cvp  于 2021-06-26  发布在  Hive
关注(0)|答案(2)|浏览(323)

根据文档,当我们在hive中创建一个外部表,然后删除该表时,元数据会被更新,而hdfs目录/user/hive/warehouse/>中加载的数据仍然存在?
我有两个问题:1。如何清理/user/hive/warehouse/>中的文件?2.当我再次尝试创建表时,文件名称相同,但数据不同,配置单元仓库文件没有得到更新,应该是吗(我问这个问题是因为我不确定这是设置问题还是预期行为)

wgx48brx

wgx48brx1#

配置单元不在仓库目录中存储(管理)任何外部表的数据文件。它只在metastore中存储这些表的元数据。
这是配置单元内部(托管)表和外部表之间的主要区别。内部表拥有数据,外部表只知道它。
这里有更详细的解释。

ep6jt1vc

ep6jt1vc2#

要删除外部表数据,您需要从hdfs位置手动删除它,在这种情况下,hive只删除元数据。要删除hdfs文件,只需使用rm命令:

hadoop fs -rm /location_of_data

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

相关问题