В этой главе описываются встроенные функции, доступные в Hive. Функции выглядят очень похоже на функции SQL, за исключением их использования.
Встроенные функции
Hive поддерживает следующие встроенные функции:
Тип возврата | Подпись | Описание |
---|---|---|
BIGINT | круглый (двойной) | Возвращает округленное значение BIGINT для double. |
BIGINT | этаж (двойной) | Возвращает максимальное значение BIGINT, которое равно или меньше двойного. |
BIGINT | потолок (двойной) | Возвращает минимальное значение BIGINT, которое равно или больше, чем double. |
двойной | rand (), rand (int seed) | Возвращает случайное число, которое меняется от строки к строке. |
строка | concat (строка A, строка B, …) | Возвращает строку, полученную в результате объединения B после A. |
строка | substr (строка A, начало int) | Возвращает подстроку A, начиная с начальной позиции и до конца строки A. |
строка | substr (строка A, начало int, длина int) | Возвращает подстроку A, начиная с начальной позиции заданной длины. |
строка | верхний (строка А) | Возвращает строку, полученную в результате преобразования всех символов A в верхний регистр. |
строка | Ucase (строка A) | То же, что и выше. |
строка | ниже (строка А) | Возвращает строку, полученную в результате преобразования всех символов B в нижний регистр. |
строка | lcase (строка A) | То же, что и выше. |
строка | отделка (строка A) | Возвращает строку, полученную в результате обрезки пробелов с обоих концов A. |
строка | Итрим (строка А) | Возвращает строку, полученную из пробелов в начале (слева) от A. |
строка | тртрим (строка А) | rtrim (строка A) Возвращает строку, полученную из пробелов в конце (справа) от A. |
строка | regexp_replace (строка A, строка B, строка C) | Он возвращает строку, полученную в результате замены всех подстрок в B, которые соответствуют синтаксису регулярного выражения Java, на C. |
ИНТ | размер (Map <KV>) | Возвращает количество элементов в типе карты. |
ИНТ | Размер (Array <Т>) | Возвращает количество элементов в типе массива. |
значение <тип> | приведение (<expr> как <тип>) | Он преобразует результаты выражения expr в <тип>, например, cast (‘1’ как 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» |
ИНТ | год (строковая дата) | Возвращает часть года даты или строку метки времени: year («1970-01-01 00:00:00») = 1970, year («1970-01-01») = 1970 |
ИНТ | месяц (строковая дата) | Возвращает часть месяца даты или строку метки времени: month («1970-11-01 00:00:00») = 11, month («1970-11-01») = 11 |
ИНТ | день (строковая дата) | Возвращает дневную часть даты или строку метки времени: день («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
функция пола ()
hive> SELECT floor(2.6) from temp;
При успешном выполнении запроса вы увидите следующий ответ:
2.0
функция ceil ()
hive> SELECT ceil(2.6) from temp;
При успешном выполнении запроса вы увидите следующий ответ:
3.0
Агрегатные функции
Hive поддерживает следующие встроенные агрегатные функции . Использование этих функций такое же, как и у агрегатных функций SQL.