Що таке мова запитів Hive: HiveQL Operaторс

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

Мова запитів Hive (HiveQL) — це мова запитів у Apache Hive для обробки та аналізу структурованих даних. Це відокремлює користувачів від складного програмування Map Reduce. Він повторно використовує загальні концепції з реляційних баз даних, такі як таблиці, рядки, стовпці та схеми, щоб полегшити навчання. Hive надає CLI для написання запитів Hive за допомогою мови запитів Hive (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:

Вбудований Operaтор Опис Operand
X = Y ІСТИНА

якщо вираз X еквівалентний виразу Y

Інакше FALSE.

Він приймає всі примітивні типи
X != Y ІСТИНА

якщо вираз X не еквівалентний виразу Y

Інакше FALSE.

Він приймає всі примітивні типи
X < Y ІСТИНА

якщо вираз X менший за вираз Y

Інакше FALSE.

Він приймає всі примітивні типи
X <= Y ІСТИНА

якщо вираз X менше або дорівнює виразу Y

Інакше FALSE.

Він приймає всі примітивні типи
X>Y ІСТИНА

якщо вираз X більший за вираз Y

Інакше FALSE.

Він приймає всі примітивні типи
X>= Y ІСТИНА

якщо вираз X більше або дорівнює виразу Y

Інакше FALSE.

Він приймає всі примітивні типи
X ПОРАЖУЄ НУЛЬ TRUE, якщо вираз X має значення NULL, інакше FALSE. Він приймає всі види
X НЕ Є NULL ПОМИЛКОВИЙ

Якщо вираз X обчислюється як NULL, інакше TRUE.

Він приймає всі види
X ЯК Y ІСТИНА

Якщо рядковий шаблон 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:

Вбудований Operaтор Опис 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 | Ю Він поверне результат порозрядного АБО X і Y. Він приймає всі типи чисел
X ^ Y Він поверне результат порозрядного XOR X і Y. Він приймає всі типи чисел
~X Він поверне результат побітового НЕ X. Він приймає всі типи чисел

Hive QL Logical Operaторс

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

  • Логічні операції, такі як AND, OR, NOT між операндами, які ми використовуємо Operaторс.
  • Усі типи операндів є ЛОГІЧНИМИ Operaторс

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

Operaторс Опис OperaНСР
X І Y TRUE, якщо і X, і Y є TRUE, інакше FALSE. Лише логічні типи
X && Y Те саме, що X AND Y, але тут ми використовуємо символ && Лише логічні типи
X АБО Y TRUE, якщо X або Y або обидва є TRUE, інакше FALSE. Лише логічні типи
X || Ю Те саме, що X АБО Y, але тут ми використовуємо || символ Лише логічні типи
НЕ X TRUE, якщо X є FALSE, інакше FALSE. Лише логічні типи
!X Те саме, що NOT X, але тут ми використовуємо! символ Лише логічні типи

Operaтори на складні типи

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

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

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

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

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

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

Підсумки

  • Hive Query Language (HiveQL) — це мова запитів у Apache Вулик для обробки та аналізу структурованих даних.
  • Hive надає вбудовані оператори для операцій з даними, які реалізовуються в таблицях у сховищі Hive.
  • Види вбудованих OperaТорами в HiveQL є:
  • Реляційний Operaторс
  • Арифметика Operaторс
  • логічний Operaторс
  • Operaтори на складні типи
  • Конструктори складного типу