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

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

新しい関数を作成します。

important

これは実験的な機能です。

関数を作成するには、ユーザーに次の権限が必要です。

- 関数の親カタログのUSE_CATALOG

  • USE_SCHEMA 関数の親スキーマで CREATE_FUNCTION します
databricks functions create [flags]

オプション

--json JSON

インライン JSON 文字列、またはリクエスト本文を含む JSON ファイルへの@path。

グローバルフラグ

次の例では、JSON ファイルを使用して関数を作成します。

Bash
databricks functions create --json @function-definition.json

次の例では、インライン JSON を使用して関数を作成します。

Bash
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 であっても強制的に削除します。

グローバルフラグ

次の例では、関数を削除します。

Bash
databricks functions delete my_catalog.my_schema.my_function

次の例では、関数を強制的に削除します。

Bash
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

プリンシパルが選択的なメタデータにのみアクセスできる関数を応答に含めるかどうか。

グローバルフラグ

次の例では、関数に関する情報を取得します。

Bash
databricks functions get my_catalog.my_schema.my_function

次の例では、参照情報を含む関数を取得します。

Bash
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

前のクエリに基づいて次のページに移動するための不透明なページネーショントークン。

グローバルフラグ

次の例は、カタログとスキーマ内のすべての関数をリストします。

Bash
databricks functions list my_catalog my_schema

次の例は、最大 10 個の結果を持つ関数をリストします。

Bash
databricks functions list my_catalog my_schema --max-results 10

次の例は、ブラウズ情報を含む関数の一覧です。

Bash
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

関数の現在の所有者のユーザー名。

グローバルフラグ

次の例では、関数の所有者を更新します。

Bash
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

進行状況ログを表示する形式: defaultappendinplacejson

-t, --target string

該当する場合は、使用するバンドル・ターゲット