Почему архив улья не поддерживает EXTERNAL_TABLE? - PullRequest
0 голосов
/ 28 мая 2018

В настоящее время наши таблицы имеют значение EXTERNAL_TABLE , и в NameNode содержится большое количество метаданных, поэтому мне нужно сделать архив для сокращения информации, но архив куста поддерживает только MANAGED_TABLE。

Может кто-нибудь объяснить, почему архивы не поддерживают 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 голосов
/ 28 мая 2018

Почему вы хотите архивировать метаданные внешних таблиц?Просто чтобы уменьшить информацию?Если у вас есть внешние таблицы в улье, и вы делаете это, то это неправильно.Если у вас есть таблицы в кусте, то метаданные не должны быть удалены.В улье, если вы удалите внешнюю таблицу, метаданные также будут автоматически удалены.При удалении управляемой таблицы удаляются и данные, и метаданные, а при удалении внешней таблицы удаляются только метаданные

...