Удаление управляемой таблицы приведет к удалению внешней таблицы, если оба находятся в одном месте? - PullRequest
1 голос
/ 09 июля 2019

Управляемые и внешние таблицы создаются в одном месте.

Когда вы удалите внутреннюю таблицу, что произойдет с файлом данных?Это вызовет какие-либо проблемы с внешней таблицей или расположением файла внешней таблицы?

1 Ответ

0 голосов
/ 09 июля 2019

Таблица представляет собой метаданные, содержащие спецификацию столбцов, путь к местоположению, тип таблицы, SerDe, статистику, права доступа и т. Д. Удаление папки или файлов местоположения не приведет к удалению таблицы, а только к данным.Таблица и данные в Hive слабо связаны, это очень удобно, потому что вы можете управлять данными, используя не только Hive, и вы можете создать таблицу Hive поверх существующих данных, созданных некоторыми другими инструментами. Hive - это только один из многих инструментов, которые вы можете иметь вHadoop и не обязательно только Hadoop.

Одна таблица ничего не знает о другой таблице, построенной поверх того же места.Конечно, когда вы удаляете управляемую таблицу, созданную в том же расположении, что и другая внешняя или также управляемая таблица, местоположение будет удалено.Выбор из другой таблицы не вернет никаких строк.Если вы хотите удалить таблицу и оставить ее местоположение как есть, установите EXTERNAL=TRUE, прежде чем отбрасывать ее:

ALTER TABLE abc SET TBLPROPERTIES('EXTERNAL'='TRUE');

См. Также этот ответ на аналогичную тему с интересными тестами: https://stackoverflow.com/a/54038932/2700344

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...