根据文档,当我们在hive中创建一个外部表,然后删除该表时,元数据会被更新,而hdfs目录/user/hive/warehouse/>中加载的数据仍然存在?
我有两个问题:1。如何清理/user/hive/warehouse/>中的文件?2.当我再次尝试创建表时,文件名称相同,但数据不同,配置单元仓库文件没有得到更新,应该是吗(我问这个问题是因为我不确定这是设置问题还是预期行为)
根据文档,当我们在hive中创建一个外部表,然后删除该表时,元数据会被更新,而hdfs目录/user/hive/warehouse/>中加载的数据仍然存在?
我有两个问题:1。如何清理/user/hive/warehouse/>中的文件?2.当我再次尝试创建表时,文件名称相同,但数据不同,配置单元仓库文件没有得到更新,应该是吗(我问这个问题是因为我不确定这是设置问题还是预期行为)
2条答案
按热度按时间wgx48brx1#
配置单元不在仓库目录中存储(管理)任何外部表的数据文件。它只在metastore中存储这些表的元数据。
这是配置单元内部(托管)表和外部表之间的主要区别。内部表拥有数据,外部表只知道它。
这里有更详细的解释。
ep6jt1vc2#
要删除外部表数据,您需要从hdfs位置手动删除它,在这种情况下,hive只删除元数据。要删除hdfs文件,只需使用rm命令:
如果要递归删除,请使用-rm-r。