Hive Create, Alter & Drop Table

Содержание:

Anonim

В этом руководстве можно увидеть такие операции с таблицами , как создание, изменение и удаление таблиц в Hive.

На скриншоте ниже мы создаем таблицу со столбцами и меняем имя таблицы.

1. Создание таблицы guru_sample с двумя именами столбцов, такими как empid и empname.

2. Отображение таблиц из базы данных guru99

3. Отображение Guru_sample под таблицами

4. Изменение таблицы "guru_sample" на "guru_sampleNew"

5. Опять же, когда вы выполняете команду "show", отображается новое имя Guru_sampleNew.

Dropping table guru_sampleNew:

Типы таблиц и их использование:

Переходя к таблицам, это похоже на то, как мы создаем в традиционных реляционных базах данных. Функциональные возможности, такие как фильтрация, объединения, могут выполняться на таблицах.

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

Внутренние таблицы

  • Внутренняя таблица тесно связана по своей природе. В таблицах этого типа сначала мы должны создать таблицу и загрузить данные.
  • Мы можем назвать это данными по схеме .
  • При удалении этой таблицы будут удалены и данные, и схема.
  • Сохраненное местоположение этой таблицы будет в / user / hive / inventory.

Когда выбирать внутреннюю таблицу:

  • Если данные обработки доступны в локальной файловой системе
  • Если мы хотим, чтобы Hive управлял полным жизненным циклом данных, включая удаление

Пример фрагмента кода для внутренней таблицы

1. Создать внутреннюю таблицу

 Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING);Row format delimitedFields terminated by '\t';

2. Загрузите данные во внутреннюю таблицу.

 Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO table guruhive_internaltable;

3. Отобразите содержимое таблицы.

 Hive>select * from guruhive_internaltable;

4. Отбросить внутреннюю таблицу

 Hive>DROP TABLE guruhive_internaltable;

Если вы удалили таблицу guruhive_internaltable, включая ее метаданные, и ее данные будут удалены из Hive.

На следующем снимке экрана мы можем наблюдать результат

В приведенном выше коде и на снимке экрана мы делаем следующее:

  • Создайте внутреннюю таблицу
  • Загрузить данные во внутреннюю таблицу
  • Отобразить содержимое таблицы
  • Отбросить внутреннюю таблицу

Внешние таблицы

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

Когда выбирать внешнюю таблицу:

  • Если данные обработки доступны в HDFS
  • Полезно, когда файлы используются вне Hive.

Пример фрагмента кода для внешней таблицы

1. Создайте внешнюю таблицу

Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING)Row format delimitedFields terminated by '\t'LOCATION '/user/guru99hive/guruhive_external;

2. Если мы не указываем местоположение во время создания таблицы, мы можем загрузить данные вручную.

 Hive>LOAD DATA INPATH '/user/guru99hive/data.txt' INTO TABLE guruhive_external;

3. Отобразите содержимое таблицы.

 Hive>select * from guruhive_external;

4. Отбросить внутреннюю таблицу

 Hive>DROP TABLE guruhive_external;

На следующем снимке экрана мы можем наблюдать результат

В приведенном выше коде мы делаем следующие вещи

  • Создайте внешнюю таблицу
  • Загрузить данные во внешнюю таблицу
  • Отобразить содержимое таблицы
  • Удаление внешней таблицы

Разница между внутренними и внешними таблицами

Особенность Внутренний Внешний
Схема Данные по схеме Схема данных
Место хранения / usr / улей / склад Расположение HDFS
Доступность данных В локальной файловой системе В HDFS