При изменении внешней таблицы куста на внутреннюю таблицу в той же базе данных также удаляются данные из другой таблицы. - PullRequest
0 голосов
/ 30 января 2019

Я пытался удалить внешнюю таблицу улья, используя инструкцию

изменить таблицу $ tableName set tblproperties ('EXTERNAL' = 'FALSE');

после того, как я передам эти свойства и выполню

DROP TABLE TABLENAME;

эта команда также удаляет данные из других таблиц кустов в этой базе данных.

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

ALTER TABLE TABLENAME set tblproperties('EXTERNAL' = 'FALSE');
 drop table tablename;

1 Ответ

0 голосов
/ 31 января 2019

Когда вы удаляете управляемую таблицу в Hive, ее местоположение с файлами данных также удаляется.И технически возможно создать множество таблиц, как управляемых, так и внешних, поверх одного и того же местоположения, см. Этот ответ Итак, такой сценарий вполне возможен.Некоторые другие таблицы, созданные в том же месте, будут также очищены.На самом деле, данные и таблицы в Hive - это слабо связанные вещи.Таблица в Hive - это метастазовая информация о местоположении, схеме, SerDe, статистике, привилегиях доступа и т. Д. И данные хранятся в HDFS / S3 или другой совместимой файловой системе.Вы можете использовать некоторые другие средства для удаления данных или загрузки данных, например, команду hadoop fs -rm, а не только управляемую таблицу в Hive.

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