functions
コマンド グループ
この情報は、Databricks CLI バージョン 0.205 以降に適用されます。Databricks CLI は パブリック プレビュー段階です。
Databricks CLI 使用には、使用状況データを含む Databricks ライセンス および Databricks プライバシー通知が適用されます。
Databricks CLI 内の functions
コマンド グループを使用すると、Unity Catalog でユーザー定義関数 (UDF) を管理できます。関数の実装は、任意の SQL 式またはクエリにすることができ、クエリでテーブル参照が許可されている場所であればどこでも呼び出すことができます。Unity Catalog では、関数はテーブルと同じレベルに存在するため、 catalog_name.schema_name.function_name
の形式で参照できます。
databricks functions create
新しい関数を作成します。
これは実験的な機能です。
関数を作成するには、ユーザーに次の権限が必要です。
- 関数の親カタログのUSE_CATALOG
USE_SCHEMA
関数の親スキーマでCREATE_FUNCTION
します
databricks functions create [flags]
オプション
--json JSON
インライン JSON 文字列、またはリクエスト本文を含む JSON ファイルへの@path。
例
次の例では、JSON ファイルを使用して関数を作成します。
databricks functions create --json @function-definition.json
次の例では、インライン JSON を使用して関数を作成します。
databricks functions create --json '{"name": "my_catalog.my_schema.my_function", "data_type": "INT", "full_data_type": "INT", "return_params": {"parameters": []}, "routine_body": "SQL", "routine_definition": "SELECT 1", "routine_dependencies": {"dependencies": []}, "parameter_style": "S", "is_deterministic": true, "sql_data_access": "CONTAINS_SQL", "is_null_call": false, "security_type": "DEFINER", "specific_name": "my_function"}'
databricks functions delete
指定した名前に一致する関数を削除します。
削除を成功させるには、ユーザーは次のいずれかの条件を満たす必要があります。
- 関数の親カタログの所有者です
- 関数の親スキーマの所有者であり、その親カタログに対する
USE_CATALOG
権限を持っている - 関数自体の所有者であり、親カタログに対する
USE_CATALOG
特権と親スキーマに対するUSE_SCHEMA
特権の両方を持っています。
databricks functions delete NAME [flags]
引数
NAME
関数の完全修飾名 ( catalog_name.schema_name.function_name
の形式)。
オプション
--force
関数が notempty であっても強制的に削除します。
例
次の例では、関数を削除します。
databricks functions delete my_catalog.my_schema.my_function
次の例では、関数を強制的に削除します。
databricks functions delete my_catalog.my_schema.my_function --force
databricks functions get
親カタログとスキーマ内から関数を取得します。
フェッチを成功させるには、ユーザーは次のいずれかの要件を満たす必要があります。
- メタストア管理者である
- 関数の親カタログの所有者である
- 関数の親カタログに対する
USE_CATALOG
権限を持ち、関数の所有者であること - 関数の親カタログに対する
USE_CATALOG
権限、関数の親スキーマに対するUSE_SCHEMA
権限、および関数自体に対するEXECUTE
権限を持っている
databricks functions get NAME [flags]
引数
NAME
関数の完全修飾名 ( catalog_name.schema_name.function_name
の形式)。
オプション
--include-browse
プリンシパルが選択的なメタデータにのみアクセスできる関数を応答に含めるかどうか。
例
次の例では、関数に関する情報を取得します。
databricks functions get my_catalog.my_schema.my_function
次の例では、参照情報を含む関数を取得します。
databricks functions get my_catalog.my_schema.my_function --include-browse
databricks functions list
指定された親カタログおよびスキーマ内の関数をリストします。
ユーザーがメタストア管理者の場合、すべての関数が出力リストに返されます。それ以外の場合、ユーザーはカタログに対する USE_CATALOG
特権とスキーマに対する USE_SCHEMA
特権を持っている必要があり、出力リストには、ユーザーが EXECUTE
特権を持っているか、ユーザーが所有者である関数のみが含まれます。配列内の要素の特定の順序を保証するものではありません。
databricks functions list CATALOG_NAME SCHEMA_NAME [flags]
引数
CATALOG_NAME
対象の関数の親カタログの名前。
SCHEMA_NAME
関数の親スキーマ。
オプション
--include-browse
プリンシパルが選択的なメタデータにのみアクセスできる関数を応答に含めるかどうか。
--max-results int
返す関数の最大数。
--page-token string
前のクエリに基づいて次のページに移動するための不透明なページネーショントークン。
例
次の例は、カタログとスキーマ内のすべての関数をリストします。
databricks functions list my_catalog my_schema
次の例は、最大 10 個の結果を持つ関数をリストします。
databricks functions list my_catalog my_schema --max-results 10
次の例は、ブラウズ情報を含む関数の一覧です。
databricks functions list my_catalog my_schema --include-browse
databricks functions update
指定された名前に一致する関数を更新します。
関数の所有者のみを更新できます。ユーザーがメタストア管理者でない場合、ユーザーは新しい関数の所有者であるグループのメンバーである必要があります。ユーザーは、次のいずれかの条件を満たす必要があります。
- メタストア管理者である
- 関数の親カタログの所有者です
- 関数の親スキーマの所有者であり、その親カタログに対する
USE_CATALOG
権限を持っています - 関数自体の所有者であり、その親カタログに対する
USE_CATALOG
権限と、関数の親スキーマに対するUSE_SCHEMA
権限を持っています
databricks functions update NAME [flags]
引数
NAME
関数の完全修飾名 ( catalog_name.schema_name.function_name
の形式)。
オプション
--json JSON
インライン JSON 文字列、またはリクエスト本文を含む JSON ファイルへの@path。
--owner string
関数の現在の所有者のユーザー名。
例
次の例では、関数の所有者を更新します。
databricks functions update my_catalog.my_schema.my_function --owner someone@example.com
グローバルフラグ
--debug
デバッグログを有効にするかどうか。
-h
または --help
Databricks CLI、関連するコマンド グループ、または関連するコマンドのヘルプを表示します。
--log-file
string
出力ログの書き込み先となるファイルを表す文字列。このフラグが指定されていない場合、デフォルトでは出力ログが stderr に書き込まれます。
--log-format
format
ログ・フォーマット・タイプ ( text
または json
) 。デフォルト値は text
です。
--log-level
string
ログ形式レベルを表す文字列。指定しない場合、ログ・フォーマット・レベルは使用不可になります。
-o, --output
タイプ
コマンド出力タイプ text
または json
。デフォルト値は text
です。
-p, --profile
string
コマンドの実行に使用する ~/.databrickscfg
ファイル内のプロファイルの名前。このフラグが指定されていない場合、存在する場合は、 DEFAULT
という名前のプロファイルが使用されます。
--progress-format
format
進行状況ログを表示する形式: default
、 append
、 inplace
、 json
-t, --target
string
該当する場合は、使用するバンドル・ターゲット