В этом руководстве можно увидеть такие операции с таблицами , как создание, изменение и удаление таблиц в 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 |