Улей - Альтер Стол

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

Hive предоставляет нам функциональные возможности для внесения изменений в таблицы и базы данных. Команда ALTER TABLE может использоваться для внесения изменений в таблицы. Мы можем изменить несколько свойств, связанных со схемой таблицы в Hive. Изменение таблицы изменяет или изменяет ее метаданные и не влияет на фактические данные, доступные внутри таблицы. В общем, когда мы допустили некоторые ошибки при создании структуры таблицы, мы используем ALTER TABLE для изменения характеристик схемы. Мы можем выполнять несколько операций со схемой таблицы, такие как переименование имени таблицы, добавление столбца, изменение или замена имени столбца и т. Д.

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

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

 start-dfs.sh # это запустит namenode, datanode и вторичный namenode
start-yarn.sh # это запустит диспетчер узлов и диспетчер ресурсов  
jps # Чтобы проверить запущенные демоны

Шаг 2. Запустите куст с терминала

 улей

Давайте создадим таблицу демо с одним атрибутом demo_name типа строки в улье (По умолчанию улей делает таблицы в базе данных по умолчанию , если не указано).

 СОЗДАТЬ ТАБЛИЦУ, ЕСЛИ НЕ СУЩЕСТВУЕТ демо (
demo_name STRING
)
ФОРМАТ СТРОКИ УДАЛЕН
ПОЛЯ, ЗАКОНЧЕННЫЕ ','; 

Давайте выполним каждую из операций, которые мы можем выполнить с помощью ALTER TABLE, одну за другой.

1. Переименование имени таблицы

ALTER TABLE с RENAME используется для изменения имени уже существующей таблицы в кусте.

Синтаксис:

 ALTER TABLE <current_table_name> ПЕРЕИМЕНОВАТЬ НА <new_table_name>;

Команда:

Давайте переименуем нашу таблицу из demo в customer .

ALTER TABLE demo RENAME TO customer;

На изображении выше мы видим, что имя нашей таблицы изменилось на customer .

2. ДОБАВИТЬ столбцы

Синтаксис:

ALTER TABLE <table_name> ADD COLUMNS (<col-name>  <data-type>  COMMENT ”, <col-name>  <data-type>  COMMENT ”, ….. )

Команда:

Давайте добавим столбец contact в таблицу клиентов, которую мы получили после переименования демо .

ALTER TABLE customer ADD COLUMNS ( contact BIGINT COMMENT ‘Store the customer contact number’);

Мы можем описать таблицу, чтобы увидеть ее свойства, с помощью следующей команды.

 ОПИСАТЬ клиента;

Мы успешно добавили столбец контактов в таблицу клиентов.

3. ИЗМЕНИТЬ столбец

CHANGE в ALTER TABLE используется для изменения имени или типа данных существующего столбца или атрибута.

Синтаксис:

 ALTER TABLE <имя_таблицы> ИЗМЕНИТЬ <имя_столбца> <имя_нового_столбца> <новый_тип_данных>;

Команда:

Давайте изменим атрибут demo_name на customer_name .

 ALTER TABLE customer CHANGE demo_name customer_name STRING; 

4. ЗАМЕНИТЕ колонку.

ЗАМЕНИТЬ с помощью ALTER TABLE используется для удаления всех существующих столбцов из таблицы в Hive. Атрибуты или столбцы, добавленные в операторе ALTER TABLE REPLACE, будут заменены более старыми столбцами.

Синтаксис:

 ALTER TABLE <table_name> REPLACE COLUMNS (
<имя_атрибута> <тип_данных>,
<имя_атрибута> <тип_данных>,
.
.
.
);

Например, в нашей таблице клиентов у нас есть 2 атрибута customer_name и contact. Я ж мы хотим удалить атрибут контакта запрос должен быть как , как показано ниже.

Команда:

 ИЗМЕНИТЬ ТАБЛИЦУ клиент ЗАМЕНИТЬ КОЛОННЫ (
customer_name STRING
);

Мы должны указать нужный столбец.

На изображении выше мы видим, что мы успешно удалили контакт столбца. У Hive нет оператора DROP для удаления столбцов внутри таблицы. Нам нужно использовать REPLACE, если мы хотим удалить конкретный столбец.