目前,表格 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");
}
答案 0 :(得分:0)
为什么要归档外部表的元数据?只是为了减少信息?如果您在hive中有外部表,而您正在执行此操作,那么这是不对的。如果您在hive中有表,则不应删除元数据。 在配置单元中,如果删除外部表,则元数据也将自动删除。如果删除托管表,则数据和元数据都将被删除 如果你删除外部表只有元数据得到删除