После добавления раздела в внешнюю таблицу в Hive, как я могу его обновить/удалить?
Как обновить/удалить раздел куста?
Ответ 1
Вы можете обновить раздел Hive, например:
ALTER TABLE logs PARTITION(year = 2012, month = 12, day = 18)
SET LOCATION 'hdfs://user/darcy/logs/2012/12/18';
Эта команда не перемещает старые данные и не удаляет старые данные. Он просто устанавливает раздел в новое место.
Чтобы удалить раздел, вы можете сделать
ALTER TABLE logs DROP IF EXISTS PARTITION(year = 2012, month = 12, day = 18);
Надеюсь, что это поможет!
Ответ 2
Вы можете скопировать файлы в папку, в которой находится внешний раздел, или использовать
INSERT OVERWRITE TABLE tablename1 PARTITION (partcol1=val1, partcol2=val2...)...
утверждение.
Ответ 3
Кроме того, вы можете удалить несколько разделов из одного оператора (Удаление нескольких разделов в Impala/Hive).
Выдержка из вышеуказанной ссылки:
hive> alter table t drop if exists partition (p=1),partition (p=2),partition(p=3);
Dropped the partition p=1
Dropped the partition p=2
Dropped the partition p=3
OK