Что такое язык запросов Hive: HiveQL OperaTORs

Что такое язык запросов Hive (HiveQL)?

Язык запросов улья (HiveQL) — это язык запросов в Apache Hive для обработки и анализа структурированных данных. Это избавляет пользователей от сложностей программирования Map Download. Для облегчения обучения он повторно использует общие понятия из реляционных баз данных, такие как таблицы, строки, столбцы и схемы. Hive предоставляет интерфейс командной строки для написания запросов Hive с использованием языка запросов Hive (HiveQL).

Большинство взаимодействий обычно происходит через интерфейс командной строки (CLI). В целом синтаксис HiveQL аналогичен синтаксису SQL синтаксис, с которым знакомо большинство аналитиков данных. Hive поддерживает четыре формата файлов: TEXTFILE, SEQUENCEFILE, ORC и RCFILE (запись столбчатого файла).

Hive использует базу данных derby для хранения метаданных одного пользователя, а для метаданных нескольких пользователей или общих метаданных Hive использует MYSQL.

HiveQL Встроенный OperaTORs

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

Эти операторы используются для математических операций с операндами и возвращают конкретное значение в соответствии с примененной логикой.

Ниже приведены основные типы встроенных OperaТоры в HiveQL:

  • реляционный OperaTORs
  • Арифметический OperaTORs
  • логический OperaTORs
  • Operaторы на сложных типах
  • Конструкторы сложного типа

реляционный OperaТоры в Hive SQL

Мы используем операторы отношения для сравнения отношений между двумя операндами.

  • Operaтакие слова, как «равно», «не равно», «меньше», «больше» и т. д.
  • В этих операторах все типы операндов являются числовыми. OperaTORs.

В следующей таблице представлена ​​подробная информация о реляционных операторах и их использовании в HiveQL:

Встроенный Operaтор Описание Operand
Х = У ИСТИНА

если выражение X эквивалентно выражению Y

В противном случае ЛОЖЬ.

Он принимает все примитивные типы
Х != Y ИСТИНА

если выражение X не эквивалентно выражению Y

В противном случае ЛОЖЬ.

Он принимает все примитивные типы
Х < Y ИСТИНА

если выражение X меньше выражения Y

В противном случае ЛОЖЬ.

Он принимает все примитивные типы
Х <= Y ИСТИНА

если выражение X меньше или равно выражению Y

В противном случае ЛОЖЬ.

Он принимает все примитивные типы
Х>У ИСТИНА

если выражение X больше выражения Y

В противном случае ЛОЖЬ.

Он принимает все примитивные типы
Х>= Y ИСТИНА

если выражение X больше или равно выражению Y

В противном случае ЛОЖЬ.

Он принимает все примитивные типы
Х ЕСТЬ НУЛЬ TRUE, если выражение X имеет значение NULL, в противном случае FALSE. нужны все типы
X НЕ НУЛЬ НЕПРАВДА

Если выражение X имеет значение NULL, в противном случае — TRUE.

нужны все типы
Х НРАВИТСЯ Y ИСТИНА

Если строковый шаблон X соответствует Y, в противном случае — ЛОЖЬ.

Принимает только строки
Х РЛИК Y NULL, если X или Y имеет значение NULL, TRUE, если любая подстрока X соответствует Java регулярное выражение Y, иначе ЛОЖЬ. Принимает только строки
X РЕГЭКСПРЕЖЕНИЕ Y То же, что и РЛИК. Принимает только строки

HiveQL Арифметика OperaTORs

Мы используем арифметические операторы для выполнения арифметических операций над операндами.

  • Арифметические операции, такие как сложение, вычитание, умножение и деление между операндами, мы используем эти OperaTORs.
  • Все типы операндов в этих операторах являются числовыми типами. OperaTORs

Пример примера:

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

В этом примере «+» — это оператор, а 2 и 3 — операнды. Возвращаемое значение – 5.

В следующей таблице представлена ​​подробная информация об арифметических операторах в языке запросов Hive:

Встроенный Operaтор Описание Operand
Х + У Он вернет результат сложения значений X и Y. Он принимает все типы чисел
Х – У Он вернет результат вычитания Y из значения X. Он принимает все типы чисел
Х * У Он вернет результат умножения значений X и Y. Он принимает все типы чисел
Х/У Он вернет результат деления Y на X. Он принимает все типы чисел
Х % Y Он вернет остаток от деления X на Y. Он принимает все типы чисел
X и Y Он вернет результат побитового И X и Y. Он принимает все типы чисел
Х | Д Он вернет результат побитового ИЛИ X и Y. Он принимает все типы чисел
Х ^ У Он вернет результат побитового XOR X и Y. Он принимает все типы чисел
~X Он вернет вывод побитового НЕ X. Он принимает все типы чисел

Улей QL Логический OperaTORs

Мы используем логические операторы для выполнения логических операций над операндами.

  • Логические операции, такие как И, ИЛИ, НЕ между операндами, мы используем эти OperaTORs.
  • Все типы операндов в этих операторах имеют тип BOOLEAN. OperaTORs

В следующей таблице представлена ​​подробная информация о логических операторах в HiveSQL:

OperaTORs Описание OperaНСР
Х И Y ИСТИНА, если и X, и Y ИСТИНА, в противном случае ЛОЖЬ. Только логические типы
X && Y То же, что X AND Y, но здесь мы используем символ &&. Только логические типы
Х ИЛИ Y ИСТИНА, если либо X, либо Y, либо оба имеют значение ИСТИНА, в противном случае ЛОЖЬ. Только логические типы
Х || Д То же, что X OR Y, но здесь мы используем || символ Только логические типы
НЕ Х ИСТИНА, если X имеет значение ЛОЖЬ, в противном случае ЛОЖЬ. Только логические типы
!X То же, что NOT X, но здесь мы используем! символ Только логические типы

Operaторы на сложных типах

В следующей таблице приведены подробные сведения о сложном типе. Operators . Это операторы, которые предоставят другой механизм доступа к элементам в сложных типах.

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

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

Следующая таблица даст нам подробную информацию о конструкторах сложных типов. Она будет создавать экземпляры на основе сложных типов данных. Это сложные типы данных, такие как Array, Map и Struct в Hive.

В этом разделе мы увидим операции, выполняемые над конструкторами сложного типа.

OperaTORs OperaНСР Описание
массив (значение1, значение2, …) Он создаст массив с заданными элементами, как указано, например, val1, val2.
Создать_ союз (тег, значение1, значение2, …) Он создаст тип объединения со значениями, указанными в параметре тега.
карта (ключ1, значение1, ключ2, значение2, …) Он создаст карту с заданными парами ключ/значение, упомянутыми в операндах.
Именованная_структура (имя1, значение1, имя2, значение2, …) Он создаст структуру с заданными именами полей и значениями, указанными в операндах.
СТРУКТУРА (значение1, значение2, значение3, …) Создает структуру с заданными значениями полей. Имена полей структуры будут col1, col2, .

Итого

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