Hive Create Table: внутрішня таблиця, Alter, Drop із прикладами
таблиця 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.
Внутрішні столи
- Внутрішня таблиця має тісно пов'язаний характер. У цьому типі таблиці спочатку ми повинні створити таблицю та завантажити дані.
- Ми можемо назвати це як дані на схемі.
- Відкинувши цю таблицю, буде видалено і дані, і схему.
- Збережене розташування цієї таблиці буде в /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_internaltable, разом із його метаданими та його дані буде видалено з 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/hive/warehouse | розташування HDFS |
Доступність даних | У локальній файловій системі | У HDFS |