表丢弃配置单元时未删除hdfs内存

ie3xauqp  于 2021-05-29  发布在  Hadoop
关注(0)|答案(2)|浏览(311)

嗨,我是相对新的Hive和hdfs,所以提前道歉,如果我用词不正确。我使用microsoft azure创建了一个虚拟机。然后我使用putty和ambari沙盒登录到这个。
在ambari,我使用的是hive,一切正常,但我在内存分配方面遇到了重大问题。当我在配置单元中删除一个表时,我将进入我的“配置单元视图”并从垃圾箱文件夹中删除该表。但是,这不会释放hdfs中的内存。
表现在已从我的配置单元数据库和垃圾箱文件夹中消失,但没有释放内存。
是否有其他地方我应该从中删除表?
提前谢谢。

whitzsjs

whitzsjs1#

尝试 DESCRIBE FORMATTED <table_name> 命令。它应该显示文件在hdfs中的位置。检查此位置是否为空。

vnjpjtjt

vnjpjtjt2#

根据你的描述,正如@dudumarkovitz所说,我也不知道是什么 HDFS memory 你说的是,但我想你要说的是hdfs上的表数据文件。
根据我的经验,我认为您在配置单元中放置的表是外部表,而不是内部表。您可以从hive office文档中获取以下功能 External Tables .
external tables external关键字允许您创建一个表并提供一个位置,以便配置单元不为此表使用默认位置。如果您已经生成了数据,这会很方便。删除外部表时,不会从文件系统中删除表中的数据。
内表和外表的区别,可以参考这里。
因此,如果要在删除外部表之后从hdfs中回收外部表数据,则需要使用下面的hdfs命令手动删除它。

hadoop fs -rm -f -r <your-hdfs-path-url>/apps/hive/warehouse/<database name>/<table-name>

希望有帮助。

相关问题