Hive - копирование схемы базы данных с разделами и воссоздание в другом экземпляре куста - PullRequest
1 голос
/ 15 мая 2019

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

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

Рад использовать прямые команды улья, спарк или любые обычные утилиты CLI с открытым исходным кодом и легкодоступными. У меня нет фактического кластера hadoop (это облачное хранилище), поэтому, пожалуйста, избегайте ответов, которые зависят от уменьшения карты / etc (например, Sqoop).

1 Ответ

1 голос
/ 15 мая 2019

Использовать команду Hive:

SHOW CREATE TABLE tablename;

Будет напечатано предложение создания таблицы. Скопируйте и измените тип таблицы на внешний, местоположение, схему, имена столбцов, если необходимо, и т. Д. И выполните.

После создания таблицы используйте эту команду для создания метаданных разделов

 MSCK [REPAIR] TABLE tablename;

Эквивалентная команда в версии Hive для Amazon Elastic MapReduce (EMR):

ALTER TABLE tablename RECOVER PARTITIONS;

Это добавит метаданные разделов Hive. См. Руководство здесь: ВОССТАНОВЛЕНИЕ РАЗДЕЛЕЙ

...