Що таке вулик?
Перш ніж зрозуміти типи даних вуликів спочатку, ми вивчимо вулик. Вулик - це метод зберігання даних Hadoop. Hadoop - сегмент зберігання та обробки даних платформи Big Data. Вулик займає свої позиції щодо подальшої техніки обробки даних. Як і до інших середовищ продовження вуликів, до вулика можна звернутися із запитами на продовження. Основні пропозиції вулика - це аналіз даних, спеціальний запит та узагальнення збережених даних з точки зору затримки, кількість запитів збільшується.
Типи даних вуликів
Типи даних класифікуються на два типи:
- Примітивні типи даних
- Типи колективних даних
1. Примітивні типи даних
Первісні засоби були давніми і давніми. усі типи даних, перелічені як примітивні, є застарілими. перелічені нижче важливі примітивні типи даних:
Тип | Розмір (байт) | Приклад |
TinyInt | 1 | 20 |
SmallInt | 2 | 20 |
Int | 4 | 20 |
Біґінт | 8 | 20 |
Булева | Булева правда / хибність | ПОМИЛКОВИЙ |
Подвійний | 8 | 10.2222 |
Поплавок | 4 | 10.2222 |
Рядок | Послідовність символів | А Б В Г |
Відмітка часу | Integer / float / string | 3.02.2012 12: 34: 56: 1234567 |
Дата | Integer / float / string | 3.02.2019 |
Типи даних вуликів реалізуються за допомогою JAVA
Наприклад: Java Int використовується тут для реалізації типу даних Int.
- Масиви символів не підтримуються в HIVE.
- Вулик покладається на роздільники, щоб розділити його поля, вулик на координацію з Hadoop дозволяє збільшити продуктивність запису та ефективність читання.
- Визначення довжини кожного стовпчика не передбачається в базі даних вуликів.
- Лінійні рядки можуть бути сформульовані в межах подвійних лапок (")".
- У новій версії вулика вводяться типи Varchar і вони утворюють прольотний специфікатор (серед 1 та 65535). Отже, для символьної рядки це виступає як найбільша довжина значення, яку вона може вмістити. Коли значення, що перевищує цю довжину, вставляється, то найменші елементи цих значень обрізаються. Довжина символу - це роздільна здатність з цифрою кодових точок, керованих рядком символів.
- Всі цілі літерали (TINYINT, SMALLINT, BIGINT) в основному розглядаються як типи даних INT, і лише довжина перевищує фактичний рівень int, який він перетворюється на BIGINT або будь-який інший відповідний тип.
- Десяткові літерали дозволяють визначити значення та покращене зібрання значень з плаваючою комою порівняно з типом DOUBLE. Тут числові значення зберігаються у їх точній формі, але у випадку подвійних вони не зберігаються точно як числові значення.
Процес лиття значення дати
Кастинг виконується | Результат |
роль (дата як дата) | Те саме значення дати |
лит (часова мітка як дата) | Місцевий часовий пояс використовується для оцінки значень року / місяця / дати тут і друкується у висновку. |
введення (рядок як дата) | Відповідне значення дати буде запропоновано в результаті цього кастингу, але нам потрібно переконатися, що рядок має формат "РРРР-ММ-DD" Нульове значення буде повернуто, коли значення рядка не зможе зробити дійсну відповідність. |
лит (дата як часова мітка) | Відповідно до поточного місцевого часового поясу, для цього процесу кастингу буде створено значення часової позначки |
лита (дата як рядок) | РРРР-ММ-DD формується для значення року / місяця / дати, а вихід буде в строковому форматі. |
2. Типи даних колекції
У вулику є чотири типи даних колекцій, їх також називають складними типами даних.
- АРЕЙ
- КАРТА
- СТРУКТУВАТИ
- УНІОНТИП
1. ARRAY: Послідовність елементів загального типу, які можна індексувати, а значення індексу починається з нуля.
Код:
array ('anand', 'balaa', 'praveeen');
2. КАРТА: Це елементи, які оголошуються та отримуються за допомогою пар ключ-значення.
Код:
'firstvalue' -> 'balakumaran', 'lastvalue' -> 'pradeesh' is represented as map('firstvalue', 'balakumaran', 'last', 'PG'). Now 'balakumaran ' can be retrived with map('first').
3. СТРУКТУРА: Як і в С, структура - це тип даних, який накопичує набір полів, позначених міткою і може бути будь-якого іншого типу даних.
Код:
For a column D of type STRUCT (Y INT; Z INT) the Y field can be retrieved by the expression DY
4. УНІОНТИП: Союз може містити будь-який із зазначених типів даних.
Код:
CREATE TABLE test(col1 UNIONTYPE )
CREATE TABLE test(col1 UNIONTYPE )
Вихід:
Нижче наведено різні роздільники, які використовуються у складних типах даних,
Розмежувач | Код | Опис |
\ n | \ n | Запишіть або роздільник рядків |
A (Ctrl + A) | \ 001 | Розмежувач поля |
B (Ctrl + B) | \ 002 | СТРУКТУРИ та АРТИВИ |
C (Ctrl + C) | \ 003 | ПДЧ |
Приклад складних типів даних
Нижче наведено приклади складних типів даних:
1. СТВОРЕННЯ СТОЛЯ
Код:
create table store_complex_type (
emp_id int,
name string,
local_address STRUCT,
country_address MAP,
job_history array)
row format delimited fields terminated by ', '
collection items terminated by ':'
map keys terminated by '_';
2. ДОДАТКИ ЗВІТКУ ТАБЛИЦІ
Код:
100, Shan, 4th : CHN : IND : 600101, CHENNAI_INDIA, SI : CSC
101, Jai, 1th : THA : IND : 600096, THANJAVUR_INDIA, HCL : TM
102, Karthik, 5th : AP : IND : 600089, RENIKUNDA_INDIA, CTS : HCL
3. ЗАВАНТАЖЕННЯ ДАНИХ
Код:
load data local inpath '/home/cloudera/Desktop/Hive_New/complex_type.txt' overwrite into table store_complex_type;
4. ОГЛЯД ДАНИХ
Код:
select emp_id, name, local_address.city, local_address.zipcode, country_address('CHENNAI'), job_history(0) from store_complex_type where emp_id='100';
Висновок - типи даних вулика
Будучи реляційною БД, але все ж Sequel з'єднує HIVE пропонує всі ключові властивості звичайних баз даних SQL дуже складним чином, що робить це одним з більш ефективних структурованих підрозділів обробки даних в Hadoop.
Рекомендовані статті
Це посібник щодо типу даних вулика. Тут ми обговорюємо два типи даних у вуликах з належними прикладами. Ви також можете ознайомитись з іншими нашими пов’язаними статтями, щоб дізнатися більше -
- Що таке вулик?
- Альтернативи вулику
- Вбудовані функції вулика
- Питання для опитування вулика
- Типи даних PL / SQL
- Приклади вбудованих функцій Python
- Різні типи даних SQL з прикладами