Улей - Изменить базу данных

Опубликовано: 18 Февраля, 2022

Apache Hive поставляется с уже созданной базой данных с именем по умолчанию . Базу данных по умолчанию нельзя изменить в кусте, потому что она ограничена. Для каждой успешно созданной базы данных изменение может быть выполнено в соответствии с требованиями пользователя.

В базу данных вносятся изменения, чтобы изменить ее существующие свойства или характеристики. Команда ALTER может использоваться для изменения баз данных, таблиц.

Чтобы выполнить описанную ниже операцию, убедитесь, что ваш улей работает. Ниже приведены инструкции по запуску куста в вашей локальной системе.

Шаг 1. Запустите все свои Hadoop Daemon

 start-dfs.sh # это запустит namenode, datanode и вторичный namenode

start-yarn.sh # это запустит диспетчер узлов и диспетчер ресурсов  

jps # Чтобы проверить запущенные демоны

Шаг 2: запустите Hive

 улей

ALTER, команда базы данных 1

С помощью команды ниже, мы можем добавить свойства базы данных или изменить свойства, которые мы добавили. DBPROPERTIES принимает несколько аргументов в виде пары ключ-значение.

Синтаксис:

БАЗА ДАННЫХ или СХЕМА - это то же самое, что мы можем использовать любое имя. СХЕМА в ALTER добавлена в куст 0.14.0 и новее.

 ALTER (DATABASE | SCHEMA) <database_name> SET DBPROPERTIES ('<property_name>' = '<property_value>', ..); 

Пример:

Шаг 1. Создайте базу данных с именем студент.

 СОЗДАТЬ БАЗУ ДАННЫХ студент;

Шаг 2. Используйте ALTER, чтобы добавить свойства в базу данных

 ИЗМЕНИТЬ БАЗУ ДАННЫХ ученик НАБОР DBPROPERTIES ('владелец' = 'GFG', 'Дата' = '2020-5-6');

Шаг 3. Опишите базу данных, чтобы увидеть эффект

 ОПИСАТЬ РАСШИРЕННУЮ БАЗУ ДАННЫХ студент;

Шаг 4: Давайте изменим существующее свойство, чтобы увидеть эффект. В нашем примере мы меняем владельца с GFG на Geeks .

 ИЗМЕНИТЬ БАЗУ ДАННЫХ ученик НАБОР DBPROPERTIES ('владелец' = 'Компьютерщики', 'Дата' = '2020-5-6');

Мы успешно переопределили свойство с помощью ALTER.

ALTER, команда базы данных 2

С помощью приведенной ниже команды мы можем изменить каталог базы данных в HDFS. РАСПОЛОЖЕНИЕ с ALTER доступно только в Hive 2.2.1, 2.4.0 и более поздних версиях. Следует иметь в виду, что при изменении местоположения базы данных данные не переносятся в новое указанное местоположение. Он изменяет только расположение родительского каталога, и вновь добавленные данные будут добавлены в это новое расположение HDFS.

Синтаксис:

 ALTER (DATABASE | SCHEMA) <database_name> SET LOCATION 'Path_on_HDFS';

Пример:

Шаг 1: Опишите студента базы данных, чтобы увидеть его родительский каталог. По умолчанию улей хранит свои данные в / user / hive / хранилище на HDFS.

 ОПИСАТЬ РАСШИРЕННУЮ БАЗУ ДАННЫХ студент;

Шаг 2: Используйте ALTER, чтобы изменить расположение родительского каталога (ПРИМЕЧАНИЕ: / hive_db - это доступный каталог в моей HDFS).

 ИЗМЕНИТЬ БАЗУ ДАННЫХ ученик УСТАНОВИТЬ МЕСТОПОЛОЖЕНИЕ 'hdfs: // localhost: 9000 / hive_db';

Шаг 3: Опишите студента базы данных, чтобы увидеть, переопределено ли местоположение.

 ОПИСАТЬ РАСШИРЕННУЮ БАЗУ ДАННЫХ студент;

Мы успешно изменили расположение базы данных студентов. Теперь любые таблицы, которые вы добавите в эту базу данных, будут созданы в / hive_db.

ALTER, команда базы данных 3

Приведенная ниже команда используется для установки или изменения имени пользователя и его РОЛИ. SET OWNER передать право владения текущим пользователем новому пользователю или новой роли. По умолчанию пользователь, создавший базу данных, устанавливается как владелец этой базы данных.

Синтаксис:

 ALTER DATABASE <database_name> SET OWNER [USER | ROLE] имя_пользователя или имя_роли;

Пример:

Давайте изменим имя пользователя, связанное с базой данных студентов.

 ОПИСАТЬ РАСШИРЕННУЮ БАЗУ ДАННЫХ студент; # мы использовали его, чтобы увидеть информацию о текущем пользователе 

ALTER DATABASE student SET ВЛАДЕЛЬЦА ПОЛЬЗОВАТЕЛЬ Ram; # этим мы изменили владельца db с dikshant
                                             Рам  

Теперь измените роль барана на admin.

 ИЗМЕНИТЬ БАЗУ ДАННЫХ студент УСТАНОВИТЬ РОЛЬ ВЛАДЕЛЬЦА admin;