SQL UDF
バージョン 4.1 以降、StarRocks は SQL UDF の作成をサポートし、ユーザーは SQL 式を使用して関数を作成できるようになりました。
SQL UDF は、SQL 式を再利用可能な関数にカプセル化する軽量な関数定義方法であり、クエリ時に実際の SQL 式に動的に展開されます。
機能概要
SQL UDF の主な特徴:
- 動的展開: クエリ最適化フェーズで関数呼び出しを実際の SQL 式に展開
- 型安全性: パラメータ型と戻り値型の明示的な宣言をサポート
- パラメータ化: 名前付きパラメータをサポートし、関数の可読性を向上
適用シナリオ:
- 再利用が必要な複雑な SQL 式
- 単純なデータ変換と計算ロジック
- 標準化されたデータ処理ルール
構文
SQL UDF の作成
CREATE [GLOBAL] FUNCTION
function_name(arg1_name arg1_type, arg2_name arg2_type, ...)
RETURNS expression
パラメータ
| パラメータ | 説明 |
|---|---|
| GLOBAL | オプション。指定すると、すべてのデータベースで参照可能なグローバル関数を作成 |
| function_name | 関数名。データベース名を含めることが可能(例:db1.my_func) |
| arg_name | パラメータ名。式内で参照するために使用 |
| arg_type | パラメータ型。StarRocks のすべての基本データ型をサポート |
| expression | SQL 式。関数呼び出し時に実際の式に展開 される |
SQL UDF の削除
DROP FUNCTION [IF EXISTS] function_name(arg_type [, ...])