Hive - встроенные функции
В этой главе объясняются встроенные функции, доступные в Hive. Эти функции очень похожи на функции SQL, за исключением их использования.
Встроенные функции
Hive поддерживает следующие встроенные функции:
Тип возврата | Подпись | Описание |
---|---|---|
BIGINT | круглый (двойной а) | Он возвращает округленное значение BIGINT двойного. |
BIGINT | этаж (двойной а) | Он возвращает максимальное значение BIGINT, которое меньше или равно двойному. |
BIGINT | ceil (двойной а) | Он возвращает минимальное значение BIGINT, которое больше или равно двойному. |
двойной | ранд (), ранд (целое семя) | Он возвращает случайное число, которое меняется от строки к строке. |
строка | concat (строка A, строка B, ...) | Он возвращает строку, полученную в результате объединения B после A. |
строка | substr (строка A, начало целого числа) | Он возвращает подстроку A, начиная с начальной позиции до конца строки A. |
строка | substr (строка A, начало целого числа, длина целого числа) | Он возвращает подстроку A, начиная с начальной позиции с заданной длиной. |
строка | верхний (строка А) | Он возвращает строку, полученную в результате преобразования всех символов A в верхний регистр. |
строка | ucase (строка A) | То же, что и выше. |
строка | нижний (строка А) | Он возвращает строку, полученную в результате преобразования всех символов B в нижний регистр. |
строка | lcase (строка A) | То же, что и выше. |
строка | обрезать (строка A) | Он возвращает строку, полученную в результате обрезки пробелов с обоих концов A. |
строка | ltrim (строка A) | Он возвращает строку, полученную в результате обрезки пробелов с начала (слева) A. |
строка | rtrim (строка A) | rtrim (строка A) Возвращает строку, полученную в результате обрезки пробелов с конца (правой части) A. |
строка | regexp_replace (строка A, строка B, строка C) | Он возвращает строку, полученную в результате замены всех подстрок в B, которые соответствуют синтаксису регулярных выражений Java, на C. |
int | размер (Карта <KV>) | Возвращает количество элементов в типе карты. |
int | размер (Массив <T>) | Возвращает количество элементов в типе массива. |
значение <тип> | приведение (<выражение> как <тип>) | Он преобразует результаты выражения expr в <type>, например, cast ('1' as BIGINT) преобразует строку '1' в ее интегральное представление. Если преобразование не выполнено, возвращается NULL. |
строка | from_unixtime (int unixtime) | преобразовать количество секунд из эпохи Unix (1970-01-01 00:00:00 UTC) в строку, представляющую метку времени этого момента в текущем часовом поясе системы в формате «1970-01-01 00:00: 00 " |
строка | to_date (строковая отметка времени) | Он возвращает часть даты в строке отметки времени: to_date ("1970-01-01 00:00:00") = "1970-01-01" |
int | год (строка даты) | Он возвращает часть года даты или строку отметки времени: год ("1970-01-01 00:00:00") = 1970, год ("1970-01-01") = 1970 |
int | месяц (строка даты) | Возвращает часть месяца в дате или строку отметки времени: месяц ("1970-11-01 00:00:00") = 11, месяц ("1970-11-01") = 11 |
int | день (строка даты) | Он возвращает часть дня даты или строку отметки времени: день ("1970-11-01 00:00:00") = 1, день ("1970-11-01") = 1 |
строка | get_json_object (строка json_string, строковый путь) | Он извлекает объект json из строки json на основе указанного пути json и возвращает строку json извлеченного объекта json. Он возвращает NULL, если входная строка json недопустима. |
пример
Следующие запросы демонстрируют некоторые встроенные функции:
функция round ()
hive> SELECT round(2.6) from temp;
При успешном выполнении запроса вы увидите следующий ответ:
3.0
floor () функция
hive> SELECT floor(2.6) from temp;
При успешном выполнении запроса вы увидите следующий ответ:
2.0
функция ceil ()
hive> SELECT ceil(2.6) from temp;
При успешном выполнении запроса вы увидите следующий ответ:
3.0
Агрегатные функции
Hive поддерживает следующие встроенные aggregate functions. Использование этих функций такое же, как и агрегатных функций SQL.
Тип возврата | Подпись | Описание |
---|---|---|
BIGINT | счетчик (*), счетчик (выражение), | count (*) - возвращает общее количество извлеченных строк. |
ДВОЙНОЙ | сумма (столбец), сумма (РАЗЛИЧНЫЙ столбец) | Он возвращает сумму элементов в группе или сумму различных значений столбца в группе. |
ДВОЙНОЙ | avg (столбец), avg (РАЗЛИЧНЫЙ столбец) | Он возвращает среднее значение элементов в группе или среднее значение отдельных значений столбца в группе. |
ДВОЙНОЙ | мин (столбец) | Возвращает минимальное значение столбца в группе. |
ДВОЙНОЙ | макс (столбец) | Возвращает максимальное значение столбца в группе. |