functions 命令组

Note

此信息适用于 Databricks CLI 版本 0.205 及更高版本。 The Databricks CLI is in Public Preview.

Databricks CLI use is subject to the Databricks License and Databricks Privacy Notice, including any Usage Data provisions.

The functions command group within the Databricks CLI allows you to manage user-defined functions (UDFs) in Unity Catalog. 函数实现可以是任何 SQL 表达式或查询,并且可以在查询中允许表引用的位置调用它。 在 Unity 目录中,函数与表位于同一级别,因此可以使用窗体 catalog_name.schema_name.function_name对其进行引用。

databricks 函数创建

创建新函数。

Important

这是一项试验功能。

用户必须具有以下权限才能创建函数:

- USE_CATALOG 函数的父目录

  • USE_SCHEMA 以及 CREATE_FUNCTION 函数的父架构
databricks functions create [flags]

选项

--json JSON

    内联 JSON 字符串或 @path 包含请求正文的 JSON 文件的 JSON 文件。

Global flags

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

    即使函数为 notempty,也强制删除。

Global flags

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

    是否在主体只能访问其选择性元数据的响应中包含函数。

Global flags

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

    不透明分页令牌根据上一个查询转到下一页。

Global flags

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 字符串或 @path 包含请求正文的 JSON 文件的 JSON 文件。

--owner string

    函数的当前所有者的用户名。

Global flags

Examples

以下示例更新函数的所有者:

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

Global flags

--debug

  是否启用调试日志记录。

-h--help

    显示 Databricks CLI、相关命令组或相关命令的帮助。

--log-file 字符串

    一个字符串,表示要将输出日志写入到的文件。 如果未指定此标志,则默认会将输出日志写入到 stderr。

--log-format 格式

    日志格式类型或 textjson。 默认值是 text

--log-level 字符串

    一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。

-o, --output 类型

    命令输出类型或 textjson。 默认值是 text

-p, --profile 字符串

    用于运行命令的文件中配置文件 ~/.databrickscfg 的名称。 如果未指定此标志,则如果存在,则使用命名 DEFAULT 的配置文件。

--progress-format 格式

    显示进度日志的格式: defaultappendinplacejson

-t, --target 字符串

    如果适用,要使用的捆绑包目标