Копирование данных из внешней таблицы в базу данных
У меня есть данные во внешней таблице. Теперь я копирую данные из внешней таблицы во вновь созданную таблицу в базе данных. Какая таблица будет таблицей в базе данных? Это управляемая таблица или внешняя таблица? Мне нужна ваша помощь, чтобы понять концепцию этого вопроса
Спасибо, Мадан Мохан С
1 ответ
Таблица кустов получает тип "Управляемый" или "Внешний" во время их создания, а не при вставке данных.
Таким образом, таблица employee является внешней (поскольку она была создана с использованием "create External" в DDL и указала расположение файла данных).
Emp является управляемой таблицей, так как "внешний" НЕ использовался в DDL, а также расположение данных не требовалось.
Разница теперь в том, что, если сотрудники таблицы отбросили считываемые данные, предоставленные в "местоположении", они не удаляются. Таким образом, внешняя таблица полезна, когда данные читаются несколькими инструментами, например свиньей Если сценарий Pig читает то же место, он все равно будет работать, даже если таблица сотрудников удалена.
Но emp управляется (другими словами, метаданными и данными управляет hive), поэтому при удалении emp данные также удаляются. Таким образом, после его удаления, если вы проверите каталог хранилища улья, вы больше не найдете каталог "emp" hdfs.