Підручник з HiveQL (Hive Query Language): Вбудовані оператори

Зміст:

Anonim

Що таке HiveQL (Hive Query Language)?

Hive надає CLI для написання запитів Hive за допомогою мови запитів Hive (HiveQL). Як правило, синтаксис HQL подібний до синтаксису SQL, з яким знайомі більшість аналітиків даних.

Мова Hive, натхненна SQL, відокремлює користувача від складності програмування Map Reduce. Він повторно використовує знайомі поняття зі світу реляційних баз даних, такі як таблиці, рядки, стовпці та схеми, щоб полегшити навчання.

Більшість взаємодій, як правило, відбувається через інтерфейс командного рядка (CLI). Hive надає CLI для написання запитів Hive за допомогою мови запитів Hive (Hive-QL).

Як правило, синтаксис HiveQL подібний до синтаксису SQL, з яким знайомі більшість аналітиків даних. Hive підтримує чотири формати файлів: TEXTFILE, SEQUENCEFILE, ORC та RCFILE (запис стовпчастого файлу).

  • Для однокористувацького зберігання метаданих Hive використовує базу даних дербі та
  • Для кількох користувацьких метаданих або спільних метаданих справа Hive використовує MYSQL

Вбудовані оператори

Hive надає вбудовані оператори для операцій з даними, які мають бути реалізовані на таблицях, що знаходяться на складі Hive.

Ці оператори використовуються для математичних операцій над операндами, і вони повернуть конкретне значення відповідно до застосованої логіки.

Типи вбудованих операторів в HIVE:

  • Реляційні оператори
  • Арифметичні оператори
  • Логічні оператори
  • Оператори на складних типах
  • Конструктори складного типу

Реляційні оператори:

Ми використовуємо реляційні оператори для порівняння відносин між двома операндами.

  • Такі оператори, як дорівнює, Не дорівнює, менше, більше ніж… тощо
  • Типи операндів - це всі типи чисел у цих Операторах.

Наступна таблиця дасть нам детальну інформацію про реляційні оператори та їх використання.

Вбудований оператор Опис Операнд
X = Y TRUE, якщо вираз X еквівалентно виразу Y В іншому випадку FALSE. Потрібні всі примітивні типи
X! = Y TRUE, якщо вираз X не еквівалентно виразу Y В іншому випадку FALSE. Потрібні всі примітивні типи
X TRUE, якщо вираз X менше, ніж вираз Y В іншому випадку FALSE. Потрібні всі примітивні типи
X <= Y TRUE, якщо вираз X менше або дорівнює виразу Y В іншому випадку FALSE. Потрібні всі примітивні типи
X> Y TRUE, якщо вираз X більше, ніж вираз Y В іншому випадку FALSE. Потрібні всі примітивні типи
X> = Y TRUE, якщо вираз X більше або дорівнює виразу Y В іншому випадку FALSE. Потрібні всі примітивні типи
Х НУЛЬ TRUE, якщо вираз X має значення NULL, інакше FALSE. Він приймає всі типи
Х НЕ НУЛЬ FALSE Якщо вираз X має значення NULL, інакше TRUE. Він приймає всі типи
X ПОДОБАЄТЬСЯ Y TRUE Якщо шаблон рядка X відповідає Y, інакше FALSE. Бере лише струни
X ПОВІДОМЛЕННЯ Y NULL, якщо X або Y - NULL, TRUE, якщо будь-який підрядок X відповідає регулярному виразу Java, Y, інакше FALSE. Бере лише струни
X REGEXP Y Те саме, що RLIKE. Бере лише струни

Арифметичні оператори :

Ми використовуємо арифметичні оператори для виконання арифметичних операцій над операндами

  • Арифметичні операції, такі як додавання, віднімання, множення та ділення між операндами, ми використовуємо ці оператори.
  • Усі типи операндів є типовими числами в цих Операторах

Приклад прикладу:

2 + 3 дає результат 5.

У цьому прикладі '+' є оператором, а 2 і 3 - операндами. Повернене значення - 5

Наступна таблиця дасть нам детальну інформацію про арифметичні оператори

Вбудований оператор Опис Операнд
X + Y Він поверне результат додавання значень X та Y. Він приймає всі типи чисел
X - Y Це поверне результат віднімання Y від значення X. Він приймає всі типи чисел
X * Y Це поверне результат множення значень X і Y. Він приймає всі типи чисел
X / Y Це поверне результат ділення Y з X. Він приймає всі типи чисел
X% Y Він поверне залишок, отриманий в результаті ділення X на Y. Він приймає всі типи чисел
X & Y Він поверне вихід побітового AND І X і Y. Він приймає всі типи чисел
X | Y Він поверне вихід побітового АБО X і Y. Він приймає всі типи чисел
X Y Він поверне вихід побітового XOR X та Y. Він приймає всі типи чисел
~ X Він поверне вихід побітового NOT з X. Він приймає всі типи чисел

Логічні оператори:

Ми використовуємо логічні оператори для виконання логічних операцій над операндами

  • Логічні операції, такі як І, АБО, НЕ між операндами, ми використовуємо ці Оператори.
  • Усі типи операндів у цих Операторах мають тип BOOLEAN

Наступна таблиця дасть нам детальну інформацію про логічні оператори

Оператори Опис Операнди
X І Y. TRUE, якщо і X, і Y є TRUE, інакше FALSE. Лише булеві типи
X && Y Так само, як X І Y, але тут ми використовуємо символ && Лише булеві типи
X АБО Y ІСТИНА, якщо або Х, або У або обидва значення ІСТИНА, інакше ФАЛЬШЕ. Лише булеві типи
X || Y Так само, як X АБО Y, але тут ми використовуємо || символ Лише булеві типи
НЕ X TRUE, якщо X - FALSE, інакше FALSE. Лише булеві типи
! X Те саме, що NOT X, але тут ми використовуємо! символ Лише булеві типи

Оператори на складних типах:

Наступна таблиця дасть нам детальну інформацію про операторів складного типу. Це оператори, які забезпечать інший механізм доступу до елементів складних типів.

Оператори Операнди Опис
A [n] A - це масив, а n - цілочисельний тип Він поверне n-й елемент масиву А. Перший елемент має індекс 0
M [клавіша] M - це карта і ключ має тип K Це поверне значення, що належать ключу на карті

Конструктори складного типу:

Наступна таблиця дасть нам детальну інформацію про конструктори складного типу. Він побудує екземпляри на складних типах даних. Це складні типи даних, такі як масиви, карти та типи структур у вулику.

У цьому розділі ми побачимо операції, що виконуються на конструкторах складного типу.

Оператори Операнди Опис
масив (val1, val2,…) Він створить масив із заданими елементами, як згадано, наприклад val1, val2
Створити_ об'єднання (тег, val1, val2,…) Він створить тип об’єднання зі значеннями, про які згадує параметр тегу
карта (ключ1, значення1, ключ2, значення2,…) Він створить карту із заданими парами ключ / значення, згаданими в операндах
Named_struct (name1, val1, name2, val2,…) Він створить структуру із заданими іменами полів та значеннями, згаданими в операндах
СТРУКТУРА (val1, val2, val3,…) Створює структуру із заданими значеннями полів. Назви полів структури будуть col1, col2,.

Короткий зміст:

Hive надає деякі вбудовані функції та оператори для маніпулювання даними, що зберігаються на складі Hive. Hive схожий на мову SQL, яка підтримує всі типи операцій з даними та запити щодо таблиць та баз даних.