Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
注释
此信息适用于 Databricks CLI 版本 0.205 及更高版本。 Databricks CLI 目前处于公共预览阶段。
Databricks CLI 的使用须遵守 Databricks 许可和 Databricks 隐私声明,包括任何数据使用规定。
functions
CLI 中的命令组允许你在 Unity 目录中管理用户定义的函数(UDF)。 函数实现可以是任何 SQL 表达式或查询,并且可以在查询中允许表引用的位置调用它。 在 Unity 目录中,函数与表位于同一级别,因此可以使用窗体 catalog_name.schema_name.function_name对其进行引用。
databricks 函数创建
创建新函数。
重要
这是一项试验功能。
用户必须具有以下权限才能创建函数:
-
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 函数删除
删除与提供的名称匹配的函数。
若要成功删除,用户必须满足以下条件之一:
- 函数的父目录的所有者
- 是函数的父架构的所有者,并对其父目录具有
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 函数获取
从父目录和架构中获取函数。
若要使提取成功,用户必须满足以下要求之一:
- 是Metastore管理员
- 是该功能的父目录的拥有者
- 在
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 函数列表
列出指定父目录和架构中的函数。
如果用户是元存储管理员,则会在输出列表中返回所有函数。 否则,用户必须具有 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 函数的更新
更新与提供的名称匹配的函数。
只有函数的所有者可以进行更新。 如果用户不是元存储管理员,则用户必须是新函数所有者的组的成员。 用户必须满足以下条件之一:
- 是Metastore管理员
- 函数的父目录的所有者
- 函数的父架构的所有者,并且对其父目录具有
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 字符串
一个字符串,表示要将输出日志写入到的文件。 如果未指定此标志,则默认会将输出日志写入到 stderr。
--log-format 格式
日志格式类型,text 或 json。 默认值是 text。
--log-level 字符串
一个表示日志格式级别的字符串。 如果未指定,则禁用日志格式级别。
-o, --output 类型
命令输出类型为 text 或 json。 默认值是 text。
-p, --profile 字符串
要用于运行命令的 ~/.databrickscfg 文件中的配置文件名称。 如果未指定此标志,并且存在命名为 DEFAULT 的配置文件,则使用该配置文件。
--progress-format 格式
显示进度日志的格式: default、 append、 inplace或 json
-t, --target 字符串
如果适用,要使用的捆绑包目标