为什么hive存档不支持EXTERNAL_TABLE?

时间:2018-05-28 05:39:34

标签: hive external archive

目前,表格 EXTERNAL_TABLE ,并且NameNode中存在大量元数据信息,因此我需要进行存档以减少信息,但是hive存档仅支持MANAGED_TABLE。 / p>

有人可以解释为什么档案不支持 EXTERNAL_TABLE

如果我以这种方式更改代码,是否有任何缺点?

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

1 个答案:

答案 0 :(得分:0)

为什么要归档外部表的元数据?只是为了减少信息?如果您在hive中有外部表,而您正在执行此操作,那么这是不对的。如果您在hive中有表,则不应删除元数据。  在配置单元中,如果删除外部表,则元数据也将自动删除。如果删除托管表,则数据和元数据都将被删除 如果你删除外部表只有元数据得到删除