Перейти к основному содержимому

CREATE FUNCTION

CREATE FUNCTION создает пользовательскую функцию (UDF). В настоящее время вы можете создавать только Java UDF, включая скалярные функции, пользовательские агрегатные функции (UDAF), пользовательские оконные функции (UDWF) и пользовательские табличные функции (UDTF).

Подробную информацию о том, как компилировать, создавать и использовать Java UDF, см. в разделе Java UDF.

ПРИМЕЧАНИЕ

Для создания глобальной UDF у вас должна быть привилегия CREATE GLOBAL FUNCTION на уровне SYSTEM. Для создания UDF на уровне базы данных у вас должна быть привилегия CREATE FUNCTION на уровне DATABASE.

Синтаксис

CREATE [GLOBAL][AGGREGATE | TABLE] FUNCTION function_name
(arg_type [, ...])
RETURNS return_type
PROPERTIES ("key" = "value" [, ...])

Параметры

ПараметрОбязательныйОписание
GLOBALНетОпределяет, создавать ли глобальную UDF, поддерживается начиная с версии 1.5.0.
AGGREGATEНетОпределяет, создавать ли UDAF или UDWF.
TABLEНетОпределяет, создавать ли UDTF. Если ни AGGREGATE, ни TABLE не указаны, создается скалярная функция.
function_nameДаИмя функции, которую вы хотите создать. Вы можете включить имя базы данных в этот параметр, например, db1.my_func. Если function_name включает имя базы данных, UDF создается в этой базе данных. В противном случае UDF создается в текущей базе данных. Имя новой функции и ее параметры не могут совпадать с существующим именем в целевой базе данных. В противном случае функция не может быть создана. Создание завершается успешно, если имя функции совпадает, но параметры отличаются.
arg_typeДаТип аргумента функции. Добавленный аргумент может быть представлен как , .... Поддерживаемые типы данных см. в разделе Java UDF.
return_typeДаТип возвращаемого значения функции. Поддерживаемые типы данных см. в разделе Java UDF.
PROPERTIESДаСвойства функции, которые различаются в зависимости от типа создаваемой UDF. Подробности см. в разделе Java UDF.