Hive Create Table: внутренняя таблица, изменение, удаление с примерами
Таблица Operaтакие как Создание, изменение и удаление Таблицы в 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/warehouse.
Когда выбирать внутреннюю таблицу?
- Если данные обработки доступны в локальной файловой системе
- Если мы хотим, чтобы Hive управлял полным жизненным циклом данных, включая удаление
Пример фрагмента кода для внутренней таблицы
1. Создать внутреннюю таблицу
Hive>CREATE TABLE guruhive_internaltable (id INT,Name STRING); Row format delimited Fields 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_internal, включая ее метаданные и данные, они будут удалены из Hive.
На следующем снимке экрана мы можем наблюдать результат
В приведенном выше коде и на скриншоте мы делаем следующие вещи:
- Создайте внутреннюю таблицу
- Загрузите данные во внутреннюю таблицу
- Отображение содержимого таблицы
- Удаление внутренней таблицы
Внешние таблицы
- Внешняя таблица по своей природе является слабосвязанной. Данные будут доступны в HDFS. Таблица будет создана на основе данных HDFS.
- Другими словами, мы можем сказать, что это создание схема данных.
- Во время удаления таблицы удаляется только схема, данные по-прежнему будут доступны в HDFS, как и раньше.
- Внешние таблицы предоставляют возможность создавать несколько схем для данных, хранящихся в HDFS, вместо удаления данных каждый раз при обновлении схемы.
Когда выбирать внешнюю таблицу?
- Если данные обработки доступны в HDFS
- Полезно, когда файлы используются за пределами Hive.
Пример фрагмента кода для внешней таблицы
1. Создать внешнюю таблицу.
Hive>CREATE EXTERNAL TABLE guruhive_external(id INT,Name STRING) Row format delimited Fields 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 |