为什么配置单元存档不支持外部表?

kiz8lqtg  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(358)

目前out表是外部的\u表,namenode中有大量的元数据信息,所以我需要做归档来减少这些信息,但是hive归档只支持托管的\u表
有人能解释一下为什么档案不支持外部表吗?
如果我这样修改代码有什么坏处吗?

if (!(tbl.getTableType() == TableType.MANAGED_TABLE || tbl.getTableType() == TableType.EXTERNAL_TABLE))
{
    throw new HiveException("ARCHIVE can only be performed on managed tables");
}
yeotifhr

yeotifhr1#

为什么要归档外部表的元数据?只是为了减少信息?如果您在配置单元中有外部表并且正在这样做,那么这是不对的。如果配置单元中有表,则不应删除元数据。在配置单元中,如果删除一个外部表,元数据也会自动删除。如果删除托管表,则数据和元数据都会被删除如果删除外部表,则只有元数据会被删除

相关问题