Какво е Hive Query Language: HiveQL Operaтори
Какво е Hive Query Language (HiveQL)?
Език за заявки Hive (HiveQL) е език за заявки в Apache Hive за обработка и анализ на структурирани данни. Той отделя потребителите от сложността на програмирането на Map Reduce. Той използва повторно общи концепции от релационни бази данни, като таблици, редове, колони и схеми, за да улесни обучението. Hive предоставя CLI за писане на заявки за Hive с помощта на Hive Query Language (HiveQL).
Повечето взаимодействия обикновено се осъществяват през интерфейс на командния ред (CLI). Като цяло синтаксисът на HiveQL е подобен на SQL синтаксис, с който повечето анализатори на данни са запознати. Hive поддържа четири файлови формата, които са: TEXTFILE, SEQUENCEFILE, ORC и RCFILE (запис на колонен файл).
Hive използва база данни derby за съхранение на метаданни за един потребител, а за метаданни за множество потребители или случай на споделени метаданни Hive използва MYSQL.
Вграден HiveQL Operaтори
Hive предоставя вградени оператори за операции с данни, които да бъдат приложени в таблиците, присъстващи в склада на Hive.
Тези оператори се използват за математически операции върху операнди и ще върнат конкретна стойност според приложената логика.
По-долу са основните видове вградени Operators в HiveQL:
- Релационна Operaтори
- аритметика Operaтори
- логичен Operaтори
- Operaторове на сложни типове
- Конструктори от сложен тип
Релационна Operators в Hive SQL
Използваме релационни оператори за сравнения на релации между два операнда.
- Operaкато равно, не е равно, по-малко от, по-голямо от ... и т.н
- Всички типове операнди са числови типове в тях Operaтори.
Следната таблица ще ни даде подробности за релационните оператори и тяхното използване в HiveQL:
| Вграден OperaTor | Descriptйон | Operand |
|---|---|---|
| X = Y | TRUE
ако израз X е еквивалентен на израз Y В противен случай НЕВЯРНО. |
Приема всички примитивни типове |
| X != Y | TRUE
ако израз X не е еквивалентен на израз Y В противен случай НЕВЯРНО. |
Приема всички примитивни типове |
| X < Y | TRUE
ако изразът X е по-малък от израза Y В противен случай НЕВЯРНО. |
Приема всички примитивни типове |
| X <= Y | TRUE
ако изразът X е по-малък или равен на израза Y В противен случай НЕВЯРНО. |
Приема всички примитивни типове |
| X>Y | TRUE
ако изразът X е по-голям от израза Y В противен случай НЕВЯРНО. |
Приема всички примитивни типове |
| X>= Y | TRUE
ако израз X е по-голям или равен на израз Y В противен случай НЕВЯРНО. |
Приема всички примитивни типове |
| X Е НУЛЕВ | TRUE, ако изразът X се оценява на NULL, в противен случай FALSE. | Приема всички видове |
| X НЕ Е НУЛЕВ | FALSE
Ако изразът X се оценява на NULL, в противен случай TRUE. |
Приема всички видове |
| X КАТО Y | TRUE
Ако моделът на низ X съвпада с Y, в противен случай FALSE. |
Приема само низове |
| X RLIKE Y | NULL, ако X или Y е NULL, TRUE, ако някой подниз на X съвпада с Java регулярен израз Y, в противен случай FALSE. | Приема само низове |
| X REGEXP Y | Същото като RLIKE. | Приема само низове |
HiveQL аритметика Operaтори
Ние използваме аритметични оператори за извършване на аритметични операции върху операнди
- Използваме аритметични операции като събиране, изваждане, умножение и деление между операндите Operaтори.
- Всички типове операнди са числови типове в тях Operaтори
Примерен пример:
2 + 3 дава резултат 5.
В този пример '+' е оператор, а 2 и 3 са операнди. Връщаната стойност е 5
Следната таблица ще ни даде подробности за аритметичните оператори в Hive Query Language:
| Вграден OperaTor | Descriptйон | Operand |
|---|---|---|
| X + Y | Той ще върне резултата от добавянето на X и Y стойност. | Приема всички видове числа |
| X–Y | Той ще върне резултата от изваждането на Y от X стойността. | Приема всички видове числа |
| X * Y | Той ще върне резултата от умножаването на стойности X и Y. | Приема всички видове числа |
| X / Y | Той ще върне резултата от разделянето на Y от X. | Приема всички видове числа |
| X % Y | Той ще върне остатъка, получен от разделянето на X на Y. | Приема всички видове числа |
| X & Y | Той ще върне резултата от побитово И на X и Y. | Приема всички видове числа |
| X | Y | Той ще върне резултата от побитово ИЛИ на X и Y. | Приема всички видове числа |
| X ^ Y | Той ще върне резултата от побитово XOR на X и Y. | Приема всички видове числа |
| ~X | Той ще върне изхода на побитово НЕ на X. | Приема всички видове числа |
Hive QL Logical Operaтори
Използваме логически оператори за извършване на логически операции върху операнди
- Използваме логически операции като И, ИЛИ, НЕ между операндите Operaтори.
- Всички типове операнди са тип BOOLEAN в тях Operaтори
Следната таблица ще ни даде подробности за логическите оператори в HiveSQL:
| Operaтори | Descriptйон | OperaNDS |
|---|---|---|
| X И Y | TRUE, ако X и Y са TRUE, в противен случай FALSE. | Само булеви типове |
| X && Y | Същото като X И Y, но тук използваме символ && | Само булеви типове |
| X ИЛИ Y | TRUE, ако X или Y или и двете са TRUE, в противен случай FALSE. | Само булеви типове |
| X || Y | Същото като X ИЛИ Y, но тук използваме || символ | Само булеви типове |
| НЕ X | TRUE, ако X е FALSE, в противен случай FALSE. | Само булеви типове |
| !X | Същото като NOT X, но тук използваме! символ | Само булеви типове |
Operaторове за сложни типове
Следната таблица ще ни даде подробности за комплексния тип OperaТорс. Това са оператори, които ще предоставят различен механизъм за достъп до елементи в сложни типове.
| Operaтори | OperaNDS | Descriptйон |
|---|---|---|
| A[n] | A е масив, а n е цяло число | Той ще върне n-тия елемент в масива A. Първият елемент има индекс 0 |
| M[ключ] | М е карта и ключът е тип К | Той ще върне стойностите, принадлежащи на ключа в картата |
Конструктори от сложен тип
Следната таблица ще ни даде подробности за конструкторите от сложен тип. Той ще конструира екземпляри на сложни типове данни. Това са сложни типове данни, като типове Array, Map и Struct Кошер.
В този раздел ще видим операциите, извършвани върху конструктори от сложен тип.
| Operaтори | OperaNDS | Descriptйон |
|---|---|---|
| масив | (val1, val2, …) | Той ще създаде масив с дадените елементи, както е споменато като val1, val2 |
| Създай_ съюз | (етикет, стойност1, стойност2, …) | Той ще създаде тип обединение със стойностите, които се споменават от параметъра на маркера |
| карта | (ключ1, стойност1, ключ2, стойност2, …) | Той ще създаде карта с дадените двойки ключ/стойност, споменати в операндите |
| Име_структура | (име1, стойност1, име2, стойност2, …) | Той ще създаде структура с дадените имена на полета и стойности, споменати в операндите |
| СТРУКТУРА | (val1, val2, val3, …) | Създава структура с дадените стойности на полето. Имената на структурните полета ще бъдат col1, col2, . |
Oбобщение
- Hive Query Language (HiveQL) е език за заявки в Apache Кошер за обработка и анализ на структурирани данни.
- Hive предоставя вградени оператори за операции с данни, които да бъдат приложени в таблиците, присъстващи в склада на Hive.
- Видове вградени Operators в HiveQL са:
- Релационна Operaтори
- аритметика Operaтори
- логичен Operaтори
- Operaторове на сложни типове
- Конструктори от сложен тип
