Таблица представляет собой метаданные, содержащие спецификацию столбцов, путь к местоположению, тип таблицы, SerDe, статистику, права доступа и т. Д. Удаление папки или файлов местоположения не приведет к удалению таблицы, а только к данным.Таблица и данные в Hive слабо связаны, это очень удобно, потому что вы можете управлять данными, используя не только Hive, и вы можете создать таблицу Hive поверх существующих данных, созданных некоторыми другими инструментами. Hive - это только один из многих инструментов, которые вы можете иметь вHadoop и не обязательно только Hadoop.
Одна таблица ничего не знает о другой таблице, построенной поверх того же места.Конечно, когда вы удаляете управляемую таблицу, созданную в том же расположении, что и другая внешняя или также управляемая таблица, местоположение будет удалено.Выбор из другой таблицы не вернет никаких строк.Если вы хотите удалить таблицу и оставить ее местоположение как есть, установите EXTERNAL=TRUE
, прежде чем отбрасывать ее:
ALTER TABLE abc SET TBLPROPERTIES('EXTERNAL'='TRUE');
См. Также этот ответ на аналогичную тему с интересными тестами: https://stackoverflow.com/a/54038932/2700344