Що таке вулик?

Перш ніж зрозуміти типи даних вуликів спочатку, ми вивчимо вулик. Вулик - це метод зберігання даних 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.

Рекомендовані статті

Це посібник щодо типу даних вулика. Тут ми обговорюємо два типи даних у вуликах з належними прикладами. Ви також можете ознайомитись з іншими нашими пов’язаними статтями, щоб дізнатися більше -

  1. Що таке вулик?
  2. Альтернативи вулику
  3. Вбудовані функції вулика
  4. Питання для опитування вулика
  5. Типи даних PL / SQL
  6. Приклади вбудованих функцій Python
  7. Різні типи даних SQL з прикладами

Категорія: