Что такое язык запросов 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
Мы используем арифметические операторы для выполнения арифметических операций над операндами.
- Арифметические операции, такие как сложение, вычитаниеtracМы используем следующие операции: умножение и деление между операндами. OperaTORs.
- Все типы операндов в этих операторах являются числовыми типами. OperaTORs
Пример примера:
2+3 дает результат 5.
В этом примере «+» — это оператор, а 2 и 3 — операнды. Возвращаемое значение – 5.
В следующей таблице представлена подробная информация об арифметических операторах в языке запросов Hive:
| Встроенный Operaтор | Описание | Operand |
|---|---|---|
| Х + У | Он вернет результат сложения значений X и Y. | Он принимает все типы чисел |
| Х – У | Она вернет результат выполнения подпрограммы.tracопределяя значение 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торы на сложных типах
- Конструкторы сложного типа
