メインコンテンツまでスキップ

CREATE FUNCTION

CREATE FUNCTION

説明

ユーザー定義関数(UDF)を作成します。現在、Java UDF(Scalar関数、ユーザー定義集約関数(UDAF)、ユーザー定義ウィンドウ関数(UDWF)、ユーザー定義テーブル関数(UDTF)を含む)のみを作成できます。

Java UDFのコンパイル、作成、使用方法の詳細については、Java UDFを参照してください。

注記

グローバルUDFを作成するには、SYSTEMレベルのCREATE GLOBAL FUNCTION権限が必要です。データベース全体のUDFを作成するには、DATABASEレベルのCREATE FUNCTION権限が必要です。

構文

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

パラメータ

パラメーター

必須

説明

GLOBAL

No

グローバルUDFを作成するかどうかを指定します。v3.0からサポートされています。

AGGREGATE

No

UDAFまたはUDWFを作成するかどうかを指定します。

TABLE

No

UDTFを作成するかどうかを指定します。 AGGREGATETABLEの両方が指定されていない場合、Scalar関数が作成されます。

function_name

Yes

作成する関数の名前です。このパラメータにデータベースの名前を含めることもできます。たとえば、db1.my_funcのように指定します。function_nameにデータベース名が含まれている場合、そのデータベースにUDFが作成されます。そうでなければ、現在のデータベースにUDFが作成されます。新しい関数の名前とパラメータは、宛先データベース内の既存の名前と同じであってはなりません。そうでない場合、関数は作成できません。関数名が同じでもパラメータが異なる場合、作成は成功します。

arg_type

Yes

関数の引数の型です。追加される引数は、...で表されることができます。サポートされるデータ型については、 Java UDF を参照してください。

return_type

Yes

関数の戻り値の型です。サポートされるデータ型については、 Java UDF を参照してください。

PROPERTIES

Yes

作成するUDFのタイプによって異なる関数のプロパティです。詳細は、 Java UDF を参照してください。