次の方法で共有


functions コマンド グループ

Note

この情報は、Databricks CLI バージョン 0.205 以降に適用されます。 Databricks CLI は パブリック プレビュー段階です

Databricks CLI の使用には、Databricks ライセンスおよび使用状況データのプロビジョニングを含むDatabricks のプライバシーに関する通知が適用されます。

functions 内の コマンド グループを使用すると、Unity カタログでユーザー定義関数 (UDF) を管理できます。 関数の実装には、任意の SQL 式またはクエリを指定できます。また、クエリでテーブル参照が許可されている場合はどこでも呼び出すことができます。 Unity カタログでは、関数はテーブルと同じレベルに存在するため、フォーム catalog_name.schema_name.function_nameで参照できます。

databricksでの関数作成

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

Important

これは試験段階の機能です。

関数を作成するには、ユーザーに次のアクセス許可が必要です。

- 関数の親カタログの USE_CATALOG

  • USE_SCHEMACREATE_FUNCTION、関数の親スキーマにて
databricks functions create [flags]

オプション

--json JSON

    要求本文を含む JSON ファイルに対するインライン JSON 文字列または @path。

グローバル フラグ

Examples

次の例では、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 関数の削除

指定された名前と一致する関数を削除します。

削除を成功させるには、ユーザーが次のいずれかの条件を満たす必要があります。

  • 関数の親カタログの所有者です
  • 関数の親スキーマの所有者であり、その親カタログに対する USE_CATALOG 特権を持っている
  • 関数自体の所有者であり、その親カタログに対する USE_CATALOG 特権と、その親スキーマに対する USE_SCHEMA 特権の両方を持っている
databricks functions delete NAME [flags]

Arguments

NAME

    関数の完全修飾名 (形式 catalog_name.schema_name.function_name)。

オプション

--force

    関数が空でなくても強制的に削除します。

グローバル フラグ

Examples

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

databricks functions delete my_catalog.my_schema.my_function

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

databricks functions delete my_catalog.my_schema.my_function --force

databricks 関数を取得する

親カタログとスキーマ内から関数を取得します。

フェッチを成功させるには、ユーザーが次のいずれかの要件を満たす必要があります。

  • メタストア管理者
  • 関数の親カタログの所有者です
  • 関数の親カタログに対する USE_CATALOG 権限を持ち、関数の所有者になる
  • 関数の親カタログに対する USE_CATALOG 特権、関数の親スキーマに対する USE_SCHEMA 特権、および関数自体に対する EXECUTE 特権を持つ
databricks functions get NAME [flags]

Arguments

NAME

    関数の完全修飾名 (形式 catalog_name.schema_name.function_name)。

オプション

--include-browse

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

グローバル フラグ

Examples

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

databricks functions get my_catalog.my_schema.my_function

次の例では、ブラウズ情報を含む関数にアクセスします。

databricks functions get my_catalog.my_schema.my_function --include-browse

databricks 関数の一覧

指定された親カタログとスキーマ内の関数を一覧表示します。

ユーザーがメタストア管理者の場合、すべての関数が出力リストに返されます。 それ以外の場合、ユーザーはカタログに対する USE_CATALOG 特権とスキーマに対する USE_SCHEMA 特権を持っている必要があります。出力リストには、ユーザーが EXECUTE 権限を持っているか、ユーザーが所有者である関数のみが含まれます。 配列内の要素の特定の順序は保証されません。

databricks functions list CATALOG_NAME SCHEMA_NAME [flags]

Arguments

CATALOG_NAME

    対象の関数の親カタログの名前。

SCHEMA_NAME

    関数の親スキーマ。

オプション

--include-browse

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

--max-results int

    返される関数の最大数。

--page-token string

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

グローバル フラグ

Examples

次の例では、カタログとスキーマ内のすべての関数を一覧表示します。

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 関数の更新

指定された名前と一致する関数を更新します。

更新できるのは、関数の所有者だけです。 ユーザーがメタストア管理者でない場合、ユーザーは新しい関数所有者であるグループのメンバーである必要があります。 ユーザーは、次のいずれかの条件を満たす必要があります。

  • メタストア管理者
  • 関数の親カタログの所有者です
  • 関数の親スキーマの所有者であり、その親カタログに対する USE_CATALOG 特権を持っています
  • 関数自体の所有者であり、その親カタログに対する USE_CATALOG 特権と、関数の親スキーマに対する USE_SCHEMA 特権を持っています
databricks functions update NAME [flags]

Arguments

NAME

    関数の完全修飾名 (形式 catalog_name.schema_name.function_name)。

オプション

--json JSON

    要求本文を含む JSON ファイルに対するインライン JSON 文字列または @path。

--owner string

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

グローバル フラグ

Examples

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

databricks functions update my_catalog.my_schema.my_function --owner someone@example.com

グローバル フラグ

--debug

  デバッグ ログを有効にするかどうかを指定します。

-h または --help

    Databricks CLI、または関連コマンド グループ、または関連コマンドのヘルプの表示。

--log-file 文字列

    出力ログを書き込むファイルを表す文字列。 このフラグが指定されていない場合、既定では stderr に出力ログが書き込まれます。

--log-format 形式

    ログ形式の種類、 text 、または json。 既定値は text です。

--log-level 文字列

    ログ形式レベルを表す文字列。 指定しない場合、ログ形式レベルは無効になります。

-o, --output

    コマンド出力の種類( text または json)。 既定値は text です。

-p, --profile 文字列

    コマンドの実行に使用する ~/.databrickscfg ファイル内のプロファイルの名前。 このフラグが指定されていない場合は、存在する場合は、 DEFAULT という名前のプロファイルが使用されます。

--progress-format 形式

    進行状況ログを表示する形式: defaultappendinplace、または json

-t, --target 文字列

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