使用 Databricks 资产捆绑包,可以指定捆绑包在捆绑配置中的 resources 映射中使用的 Azure Databricks 资源的相关信息。 请参阅 资源参考。
本页提供捆绑包支持的所有资源类型的配置参考,并提供了每个受支持类型的详细信息和示例。 有关其他示例,请参阅 捆绑包配置示例。
用于验证 YAML 配置的捆绑包的 JSON 架构位于 Databricks CLI GitHub 存储库中。
Tip
若要为任何现有资源生成 YAML,请使用 databricks bundle generate 命令。 请参阅 databricks 捆绑包生成。
支持的资源
下表列出了捆绑包(YAML 和 Python(如果适用)支持的资源类型。 可以通过在捆绑包中定义资源并部署捆绑包来创建一些资源,并且某些资源只能通过引用要包含在捆绑包中的现有资产来创建。
资源配置定义与 Databricks REST API 对象相对应的 Databricks 对象。 REST API 对象支持的创建请求字段(以 YAML 表示)是资源支持的密钥。 下表中提供了每个资源的相应对象的文档链接。
Tip
如果在捆绑包配置文件中发现未知的资源属性,databricks bundle validate 命令将返回警告。
| Resource | Python 支持 | 相应的 REST API 对象 |
|---|---|---|
| 警报 | 警报对象 | |
| app | 应用对象 | |
| 目录 (Unity 目录) | Catalog 对象 | |
| cluster | 群集对象 | |
| dashboard | 仪表板对象 | |
| database_catalog | 数据库目录对象 | |
| database_instance | 数据库实例对象 | |
| experiment | 试验对象 | |
| job | 作业 | 作业对象 |
| 模型(旧版) | Model (旧版) 对象 | |
| model_serving_endpoint | 为终结点对象提供服务的模型 | |
| pipeline | 管道 | Pipeline 对象 |
| postgres_branch | Postgres 分支对象 | |
| postgres_endpoint | Postgres 计算终结点对象 | |
| postgres_project | Postgres 项目对象 | |
| quality_monitor | 质量监视器对象 | |
| registered_model (Unity Catalog) | 已注册的模型对象 | |
| 架构 (Unity 目录) | Schemas | Schema 对象 |
| secret_scope | 机密范围对象 | |
| sql_warehouse | SQL 仓库对象 | |
| synced_database_table | 同步的数据库表对象 | |
| 卷 (Unity Catalog) | 卷 | 卷对象 |
警报
Type: Map
警报资源定义 SQL 警报(v2)。
在 Databricks CLI 版本 0.279.0 中添加
alerts:
<alert-name>:
<alert-field-name>: <alert-field-value>
| Key | 类型 | Description |
|---|---|---|
custom_description |
String | 可选。 警报的自定义说明。 支持胡须模板。 在 Databricks CLI 版本 0.279.0 中添加 |
custom_summary |
String | 可选。 警报的自定义摘要。 支持胡须模板。 在 Databricks CLI 版本 0.279.0 中添加 |
display_name |
String | 必填。 警报的显示名称,例如 Example alert。在 Databricks CLI 版本 0.279.0 中添加 |
evaluation |
Map | 必填。 警报评估配置 请参阅 alert.evaluation。 在 Databricks CLI 版本 0.279.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.279.0 中添加 |
parent_path |
String | 可选。 包含警报的文件夹的工作区路径。 只能在创建时设置,不能更新。 示例:/Users/someone@example.com。在 Databricks CLI 版本 0.279.0 中添加 |
permissions |
Sequence | 警报权限。 查看 权限。 在 Databricks CLI 版本 0.279.0 中添加 |
query_text |
String | 必填。 要运行的查询的文本,例如SELECT 1。在 Databricks CLI 版本 0.279.0 中添加 |
run_as |
Map | 可选。 指定用于运行警报的身份。 此字段允许将警报配置为作为特定用户或服务主体运行。 请参阅 run_as。
在 Databricks CLI 版本 0.279.0 中添加 |
schedule |
Map | 必填。 警报的调度配置。 请参阅 alert.schedule。 在 Databricks CLI 版本 0.279.0 中添加 |
warehouse_id |
String | 必填。 附加到警报的 SQL 仓库的 ID,例如a7066a8ef796be84。在 Databricks CLI 版本 0.279.0 中添加 |
警报.评估
Type: Map
警报评估配置
| Key | 类型 | Description |
|---|---|---|
comparison_operator |
String | 用于在警报评估中进行比较的运算符。 |
empty_result_state |
String | 如果结果为空,则为警报状态。 避免将此字段设置为 UNKNOWN,因为 UNKNOWN 的状态计划弃用。 |
notification |
Map | 当警报触发时需通知的用户或其他对象。 请参阅 alert.evaluation.notification。 |
source |
Map | 用于评估警报的结果中的源列。 请参阅 alert.evaluation.source。 |
threshold |
Map | 用于警报评估的阈值。 这可以是列或值。 请参阅 alert.evaluation.threshold。 |
警报.评估.通知
Type: Map
当警报触发时需通知的用户或其他对象。
| Key | 类型 | Description |
|---|---|---|
notify_on_ok |
布尔 | 可选。 警报返回正常时是否通知警报订阅者。 |
retrigger_seconds |
Integer | 可选。 警报在允许发送另一个通知之前触发后等待的秒数。 如果设置为 0 或省略,则警报不会在第一个触发器之后发送任何进一步通知。 设置此值为1可使警报在每次评估满足条件时发送通知,从而有效地使警报始终重新触发以进行通知。 |
subscriptions |
Sequence | 可选。 通知订阅的无序列表。 请参阅 alert.evaluation.notification.subscriptions。 |
警报.评估.通知.订阅
Type: Sequence
无序的通知订阅列表。
列表中的每个项都是一个 AlertSubscription:
| Key | 类型 | Description |
|---|---|---|
destination_id |
String | 通知目标的 ID。 |
user_email |
String | 要通知的用户的电子邮件地址。 |
警报.评估.来源
Type: Map
用于评估警报的结果中的源列。
| Key | 类型 | Description |
|---|---|---|
aggregation |
String | 要应用于源列的聚合方法。 有效值为SUM、、COUNT、、COUNT_DISTINCTAVGMEDIAN、、 MINMAXSTDDEV |
display |
String | 源数据列的显示名称。 |
name |
String | 查询结果中的源列的名称。 |
警报.评估.阈值
Type: Map
应用于警报评估的阈值可以是一个列或一个值。
| Key | 类型 | Description |
|---|---|---|
column |
Map | 用于作为阈值的列引用。 请参阅 alert.evaluation.source。 |
value |
Map | 要用作阈值的文本值。 请参阅 alert.evaluation.threshold.value。 |
警报.评估.阈值.值
Type: Map
要用作阈值的文本值。 指定以下值类型之一。
| Key | 类型 | Description |
|---|---|---|
bool_value |
布尔 | 可选。 阈值的布尔值,例如 true。 |
double_value |
Double | 可选。 阈值的数值,例如 1.25。 |
string_value |
String | 可选。 阈值的字符串值,例如 test。 |
警报计划
Type: Map
警报的调度配置。
| Key | 类型 | Description |
|---|---|---|
pause_status |
String | 可选。 此计划是否处于暂停状态。 有效值: UNPAUSED, PAUSED。 默认值:UNPAUSED。 |
quartz_cron_schedule |
String | 必填。 使用硅语法的 cron 表达式,指定此管道的计划。 Quartz 格式以 Quartz 调度器格式进行描述。 |
timezone_id |
String | 必填。 Java 时区标识符。计划将根据此时区进行调整。 这将与 quartz_cron_schedule 结合使用,以确定时间表。 有关详细信息,请参阅 SET TIME ZONE。 |
Examples
以下示例配置使用简单的评估定义警报:
resources:
alerts:
my_alert:
display_name: my_alert
evaluation:
comparison_operator: EQUAL
source:
name: '1'
threshold:
value:
double_value: 2
query_text: select 2
schedule:
quartz_cron_schedule: '44 19 */1 * * ?'
timezone_id: Europe/Amsterdam
warehouse_id: 799f096837fzzzz4
以下示例配置定义了一个警报,其中包含使用聚合评估并发送通知的权限:
resources:
alerts:
my_alert:
permissions:
- level: CAN_MANAGE
user_name: someone@example.com
custom_summary: 'My alert'
display_name: 'My alert'
evaluation:
comparison_operator: 'EQUAL'
notification:
notify_on_ok: false
retrigger_seconds: 1
source:
aggregation: 'MAX'
display: '1'
name: '1'
threshold:
value:
double_value: 2
query_text: 'select 2'
schedule:
pause_status: 'UNPAUSED'
quartz_cron_schedule: '44 19 */1 * * ?'
timezone_id: 'Europe/Amsterdam'
warehouse_id: 799f096837fzzzz4
应用
Type: Map
应用资源定义 Databricks 应用。 有关 Databricks 应用的信息,请参阅 Databricks Apps。
若要添加应用,请指定用于定义应用的设置,包括所需的 source_code_path设置。
Tip
可以使用以下命令通过 Streamlit Databricks 应用初始化捆绑包:
databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
在 Databricks CLI 版本 0.239.0 中添加
apps:
<app-name>:
<app-field-name>: <app-field-value>
| Key | 类型 | Description |
|---|---|---|
budget_policy_id |
String | 应用的预算策略 ID。 在 Databricks CLI 版本 0.243.0 中添加 |
compute_size |
String | 应用的计算大小。 有效值为 MEDIUM 或 LARGE 依赖于工作区配置。在 Databricks CLI 版本 0.273.0 中添加 |
config |
Map | 应用配置命令和环境变量。 指定后,此配置在部署期间将写入源代码路径中的 app.yaml 文件。 这样,就可以直接在捆绑 YAML 中定义应用配置,而不是维护单独的 app.yaml 文件。 请参阅 app.config。 在 Databricks CLI 版本 0.283.0 中添加 |
description |
String | 应用的说明。 在 Databricks CLI 版本 0.239.0 中添加 |
lifecycle |
Map | 部署或销毁资源时的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 应用的名称。 名称必须仅包含小写字母数字字符和连字符。 在工作区中,它必须是唯一的。 在 Databricks CLI 版本 0.239.0 中添加 |
permissions |
Sequence | 应用的权限。 查看 权限。 在 Databricks CLI 版本 0.239.0 中添加 |
resources |
Sequence | 应用计算资源。 请参阅 app.resources。 在 Databricks CLI 版本 0.239.0 中添加 |
source_code_path |
String | Databricks 应用源代码的 ./app 本地路径。在 Databricks CLI 版本 0.239.0 中添加 |
user_api_scopes |
Sequence | 用户 API 范围。 在 Databricks CLI 版本 0.246.0 中添加 |
app.config
应用配置命令和环境变量。 请参阅使用 app.yaml 配置 Databricks 应用执行。
| Key | 类型 | Description |
|---|---|---|
command |
String | 用于运行应用的命令,例如 ["streamlit", "run", "app.py"] |
env |
Sequence | 指定应用环境变量的列表 name 和 value 对。 |
应用程序.资源
Type: Sequence
应用的计算资源列表。
列表中的每个项都是一个 AppResource:
| Key | 类型 | Description |
|---|---|---|
description |
String | 应用资源的说明。 |
database |
Map | 标识要使用的 Lakebase 数据库的设置。 请参阅 app.resources.database。 |
experiment |
Map | 标识要使用的 MLflow 试验的设置。 请参阅 app.resources.experiment。 |
genie_space |
Map | 标识要使用的 Genie 空间的设置。 请参阅 app.resources.genie_space。 |
job |
Map | 该设置用于标识要使用的作业资源。 请参阅 app.resources.job。 |
name |
String | 应用资源的名称。 |
secret |
Map | 标识要使用的 Azure Databricks 机密资源的设置。 请参阅 app.resources.secret。 |
serving_endpoint |
Map | 标识要使用的终结点资源的模型的设置。 请参阅 app.resources.serving_endpoint。 |
sql_warehouse |
Map | 标识要使用的 SQL 仓库资源的设置。 请参阅 app.resources.sql_warehouse。 |
uc_securable |
Map | 标识要使用的 Unity 目录卷的设置。 请参阅 app.resources.uc_securable。 |
应用资源数据库
Type: Map
标识要使用的 Lakebase 数据库的设置。
| Key | 类型 | Description |
|---|---|---|
database_name |
String | 数据库的名称。 |
instance_name |
String | 数据库实例的名称。 |
permission |
String | 数据库的权限级别。 有效值为:CAN_CONNECT_AND_CREATE。 |
app.resources.experiment
Type: Map
标识要使用的 MLflow 试验的设置。
| Key | 类型 | Description |
|---|---|---|
experiment_id |
String | MLflow 试验的 ID。 |
permission |
String | 试验的权限级别。 有效值包括 CAN_READ, CAN_EDIT。 CAN_MANAGE |
app.resources.genie_space
Type: Map
标识要使用的 Genie 空间的设置。
| Key | 类型 | Description |
|---|---|---|
name |
String | Genie 空间的名称。 |
permission |
String | 空间的权限级别。 有效值包括CAN_VIEW,,CAN_EDIT,CAN_MANAGECAN_RUN。 |
space_id |
String | 例如 550e8400-e29b-41d4-a716-999955440000,Genie 空间的 ID。 |
app.resources.job
Type: Map
该设置用于标识要使用的作业资源。
| Key | 类型 | Description |
|---|---|---|
id |
String | 作业 ID。 |
permission |
String | 作业的权限级别。 有效值包括CAN_VIEW,,CAN_MANAGE_RUN,CAN_MANAGEIS_OWNER。 |
应用程序.资源.机密
Type: Map
标识要使用的 Azure Databricks 机密资源的设置。
| Key | 类型 | Description |
|---|---|---|
key |
String | 用于授予权限的密钥。 |
permission |
String | 机密的权限级别。 有效值包括 READ, WRITE。 MANAGE |
scope |
String | 机密范围的名称。 |
app.resources.服务端点
Type: Map
标识要使用的终结点资源的模型的设置。
| Key | 类型 | Description |
|---|---|---|
name |
String | 服务终结点的名称。 |
permission |
String | 服务终结点的权限级别。 有效值包括 CAN_QUERY, CAN_MANAGE。 CAN_VIEW |
app.resources.sql仓库
Type: Map
标识要使用的 SQL 仓库的设置。
| Key | 类型 | Description |
|---|---|---|
id |
String | SQL 仓库的 ID。 |
permission |
String | SQL 仓库的权限级别。 有效值包括 CAN_USE, CAN_MANAGE。 IS_OWNER |
app.resources.uc_securable
Type: Map
标识要使用的 Unity 目录卷的设置。
| Key | 类型 | Description |
|---|---|---|
permission |
String | Unity 目录安全对象的权限级别。 有效值为 READ_VOLUME 和 WRITE_VOLUME。 |
securable_full_name |
String | Unity 目录中可安全访问项的全名格式 catalog.schema.volume。 |
securable_type |
String | Unity 目录安全对象的类型。 有效值为:VOLUME。 |
Examples
有关演示如何创建定义应用的捆绑包的教程,请参阅 使用 Databricks 资产捆绑包管理 Databricks 应用。
以下示例定义基本应用:
resources:
apps:
hello_world_app:
name: 'hello-world-app'
source_code_path: . # This assumes the app source code is at the root of the project.
description: 'A Databricks app'
以下示例创建一个名为管理捆绑包创建的作业的应用 my_app 。 有关完整示例,请参阅 捆绑示例 GitHub 存储库。
resources:
jobs:
# Define a job in the bundle
hello_world:
name: hello_world
tasks:
- task_key: task
spark_python_task:
python_file: ../src/main.py
environment_key: default
environments:
- environment_key: default
spec:
environment_version: '2'
# Define an app that manages the job in the bundle
apps:
job_manager:
name: 'job_manager_app'
description: 'An app which manages a job created by this bundle'
# The location of the source code for the app
source_code_path: ../src/app
# The resources in the bundle which this app has access to. This binds the resource in the app with the bundle resource.
resources:
- name: 'app-job'
job:
id: ${resources.jobs.hello_world.id}
permission: 'CAN_MANAGE_RUN'
相应的 app.yaml 定义用于运行应用的配置:
command:
- flask
- --app
- app
- run
- --debug
env:
- name: JOB_ID
valueFrom: 'app-job'
以下示例创建有权访问捆绑包创建的 MLflow 试验的应用:
resources:
experiments:
# Define an MLflow experiment in the bundle
my_experiment:
name: /Users/${workspace.current_user.userName}/my-app-experiment
apps:
my_ml_app:
name: 'my-ml-app'
description: 'An app with access to an MLflow experiment'
source_code_path: ./app
# Grant the app access to the MLflow experiment
resources:
- name: 'app-experiment'
experiment:
experiment_id: ${resources.experiments.my_experiment.id}
permission: 'CAN_MANAGE'
或者,以下示例使用捆绑配置中定义的自定义配置定义应用:
resources:
apps:
my_app:
name: my_app
description: my_app_description
source_code_path: ./app
config:
command: ['flask', '--app', 'app', 'run']
env:
- name: MY_ENV_VAR
value: test_value
- name: ANOTHER_VAR
value: another_value
catalogs
Type: Map
目录资源允许在捆绑包中定义目录(Unity 目录)。
Note
仅当使用 直接部署引擎时,才支持使用 Databricks 资产捆绑包来定义目录。
在 Databricks CLI 版本 0.287.0 中添加
catalogs:
<catalog-name>:
<catalog-field-name>: <catalog-field-value>
| Key | 类型 | Description |
|---|---|---|
comment |
String | 用户提供的目录自由格式文本说明。 在 Databricks CLI 版本 0.287.0 中添加 |
connection_name |
String | 与外部数据源的连接的名称。 在 Databricks CLI 版本 0.287.0 中添加 |
grants |
Sequence | 与目录关联的授予。 请参阅 授予。 在 Databricks CLI 版本 0.287.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.287.0 中添加 |
name |
String | 必填。 目录的名称。 在 Databricks CLI 版本 0.287.0 中添加 |
options |
物体 | 附加到安全对象的键值属性的映射。 在 Databricks CLI 版本 0.287.0 中添加 |
properties |
物体 | 附加到安全对象的键值属性的映射。 在 Databricks CLI 版本 0.287.0 中添加 |
provider_name |
String | 增量共享提供程序的名称。 增量共享目录是基于远程共享服务器上的 Delta 共享的目录。 请参阅什么是 Delta Sharing?。 在 Databricks CLI 版本 0.287.0 中添加 |
share_name |
String | 共享提供程序下共享的名称。 在 Databricks CLI 版本 0.287.0 中添加 |
storage_root |
String | 目录中托管表的存储根 URL。 在 Databricks CLI 版本 0.287.0 中添加 |
Example
resources:
catalogs:
my_catalog:
name: my_catalog
comment: 'Catalog created by Databricks Asset Bundles'
properties:
purpose: 'Testing'
grants:
- principal: someone@example.com
privileges:
- USE_CATALOG
- CREATE_SCHEMA
schemas:
my_schema:
name: my_schema
catalog_name: ${resources.catalogs.my_catalog.name}
comment: 'Schema in custom catalog'
群集
Type: Map
群集资源定义 群集。
在 Databricks CLI 版本 0.229.0 中添加
clusters:
<cluster-name>:
<cluster-field-name>: <cluster-field-value>
| Key | 类型 | Description |
|---|---|---|
apply_policy_default_values |
布尔 | 设置为 true 时,策略中的固定值和默认值将用于省略的字段。 设置为 false 时,将仅应用策略中的固定值。 在 Databricks CLI 版本 0.229.0 中添加 |
autoscale |
Map | 为了根据负载自动纵向扩展和缩减群集所需的参数。 请参阅 autoscale。 在 Databricks CLI 版本 0.229.0 中添加 |
autotermination_minutes |
Integer | 在群集处于非活动状态(以分钟为单位)后自动终止群集。 如果未设置,则不会自动终止此群集。 如果指定,阈值必须介于 10 到 10000 分钟之间。 用户还可以将此值设置为 0 以显式禁用自动终止。 在 Databricks CLI 版本 0.229.0 中添加 |
aws_attributes |
Map | 与 Amazon Web Services 上运行的群集相关的属性。 如果未在创建群集时指定,将使用一组默认值。 请参阅 aws_attributes。 在 Databricks CLI 版本 0.229.0 中添加 |
azure_attributes |
Map | 与Microsoft Azure 上运行的群集相关的属性。 如果未在创建群集时指定,将使用一组默认值。 请参阅 azure_attributes。 在 Databricks CLI 版本 0.229.0 中添加 |
cluster_log_conf |
Map | 用于将 Spark 日志传送到长期存储目标的配置。 请参阅 cluster_log_conf。 在 Databricks CLI 版本 0.229.0 中添加 |
cluster_name |
String | 用户请求的群集名称。 这不必是唯一的。 如果未在创建时指定,群集名称将为空字符串。 在 Databricks CLI 版本 0.229.0 中添加 |
custom_tags |
Map | 群集资源的其他标记。 除了 default_tags,Databricks 还会使用这些标记来标记所有群集资源(例如,AWS 实例和 EBS 卷)。在 Databricks CLI 版本 0.229.0 中添加 |
data_security_mode |
String | 从群集访问数据时要使用的数据治理模型。 有效值包括NONE、SINGLE_USER、、USER_ISOLATIONLEGACY_SINGLE_USER、LEGACY_TABLE_ACL。 LEGACY_PASSTHROUGH在 Databricks CLI 版本 0.229.0 中添加 |
docker_image |
Map | 自定义 Docker 映像。 请参阅 docker_image。 在 Databricks CLI 版本 0.229.0 中添加 |
driver_instance_pool_id |
String | 群集所属的驱动程序实例池的可选 ID。 如果未分配驱动程序池,池群集将使用 ID 为 (instance*pool_id) 的实例池。 在 Databricks CLI 版本 0.229.0 中添加 |
driver_node_type_id |
String | Spark 驱动程序的节点类型。 此字段可选。 如果未设置,驱动程序节点类型将设置为值 node_type_id。 如果node_type_id设置了此字段,virtual_cluster_size则不应设置此字段。 如果同时driver_node_type_idnode_type_id指定和virtual_cluster_size指定,driver_node_type_id则node_type_id优先。在 Databricks CLI 版本 0.229.0 中添加 |
enable_elastic_disk |
布尔 | 自动缩放本地存储:启用后,当 Spark 辅助角色在磁盘空间不足时,此群集将动态获取额外的磁盘空间。 此功能需要特定的 AWS 权限才能正常运行 - 有关详细信息,请参阅用户指南。 在 Databricks CLI 版本 0.229.0 中添加 |
enable_local_disk_encryption |
布尔 | 是否在群集 VM 的本地磁盘上启用 LUKS。 在 Databricks CLI 版本 0.229.0 中添加 |
gcp_attributes |
Map | 与 Google Cloud Platform 上运行的群集相关的属性。 如果未在创建群集时指定,将使用一组默认值。 请参阅 gcp_attributes。 在 Databricks CLI 版本 0.229.0 中添加 |
init_scripts |
Sequence | 用于存储初始化脚本的配置。 可以指定任意数量的目标。 这些脚本会按照所提供的顺序依次执行。 请参阅 init_scripts。 在 Databricks CLI 版本 0.229.0 中添加 |
instance_pool_id |
String | 群集所属的实例池的可选 ID。 在 Databricks CLI 版本 0.229.0 中添加 |
is_single_node |
布尔 | 仅在满足kind = CLASSIC_PREVIEW条件时才能使用此字段。 设置为 true 时,Databricks 将自动设置单个节点相关 custom_tags, spark_conf以及 num_workers。在 Databricks CLI 版本 0.237.0 中添加 |
kind |
String | 此计算规范描述的计算类型。 在 Databricks CLI 版本 0.237.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
node_type_id |
String | 此字段通过单个值对提供给此群集中的每个 Spark 节点的资源进行编码。 例如,可以针对内存或计算密集型工作负载对 Spark 节点进行预配和优化。 可以使用 列表节点类型 API 检索可用节点类型的列表。 在 Databricks CLI 版本 0.229.0 中添加 |
num_workers |
Integer | 此群集应该拥有的工作器节点的数目。 群集有一个 Spark 驱动器和 num_workers 执行器,总共 num_workers + 1 个 Spark 节点。在 Databricks CLI 版本 0.229.0 中添加 |
permissions |
Sequence | 群集权限。 查看 权限。 在 Databricks CLI 版本 0.229.0 中添加 |
policy_id |
String | 用于创建群集(如果适用)的群集策略的 ID。 在 Databricks CLI 版本 0.229.0 中添加 |
remote_disk_throughput |
Integer | 每秒远程磁盘吞吐量(以字节为单位)。 在 Databricks CLI 版本 0.257.0 中添加 |
runtime_engine |
String | 确定群集的运行时引擎是 STANDARD 或 PHOTON。在 Databricks CLI 版本 0.229.0 中添加 |
single_user_name |
String | 如果 data*security_mode 为 SINGLE_USER,则为单个用户名。在 Databricks CLI 版本 0.229.0 中添加 |
spark_conf |
Map | 一个对象,其中包含一组可选的由用户指定的 Spark 配置键值对。 用户还可以通过spark.driver.extraJavaOptions和spark.executor.extraJavaOptions分别传入驱动程序和执行程序的额外 JVM 选项字符串。在 Databricks CLI 版本 0.229.0 中添加 |
spark_env_vars |
Map | 一个对象,其中包含一组可选的由用户指定的环境变量键值对。 在 Databricks CLI 版本 0.229.0 中添加 |
spark_version |
String | 群集的 Spark 版本,例如 3.3.x-scala2.11 可以使用 列表可用的 Spark 版本 API 检索可用的 Spark 版本列表。在 Databricks CLI 版本 0.229.0 中添加 |
ssh_public_keys |
Sequence | 将会添加到此群集中各个 Spark 节点的 SSH 公钥内容。 相应的私钥可用于在端口ubuntu上使用用户名2200登录。 最多可以指定 10 个密钥。在 Databricks CLI 版本 0.229.0 中添加 |
total_initial_remote_disk_size |
Integer | 初始远程磁盘大小总计(以字节为单位)。 在 Databricks CLI 版本 0.257.0 中添加 |
use_ml_runtime |
布尔 | 仅在满足kind = CLASSIC_PREVIEW条件时才能使用此字段。
effective_spark_version 由 spark_version(Databricks Runtime 版本)确定、此字段 use_ml_runtime,以及 node_type_id 是否为 GPU 节点。在 Databricks CLI 版本 0.237.0 中添加 |
workload_type |
Map | 显示群集工作负荷类型的群集属性。 请参阅 workload_type。 在 Databricks CLI 版本 0.229.0 中添加 |
集群自动缩放 (cluster.autoscale)
Type: Map
用于根据负载自动纵向扩展和缩减群集的参数。
| Key | 类型 | Description |
|---|---|---|
min_workers |
Integer | 群集在未充分利用时可缩减到的最小辅助角色数。 这也是群集在创建后将具有的初始辅助角色数。 |
max_workers |
Integer | 群集在重载时可以纵向扩展的最大辅助角色数。
max_workers 必须严格大于 min_workers。 |
集群.aws属性
Type: Map
与 Amazon Web Services 上运行的群集相关的属性。
| Key | 类型 | Description |
|---|---|---|
zone_id |
String | 群集所在的可用性区域/数据中心的标识符。 此字符串的格式如下 us-west-2a。 |
availability |
String | 用于在 first_on_demand 节点之后的所有节点的可用性类型。 有效值为 SPOT, ON_DEMANDSPOT_WITH_FALLBACK。 |
spot_bid_price_percent |
Integer | AWS Spot 实例的最大价格,占对应实例类型按需价格的百分比。 |
instance_profile_arn |
String | 此群集的节点将仅放置在具有此实例配置文件的 AWS 实例上。 |
first_on_demand |
Integer | 群集的第一个 first_on_demand 节点将放置在按需实例上。 此值应大于 0,以确保将群集驱动程序节点放置在按需实例上。 |
ebs_volume_type |
String | 将使用此群集启动的 EBS 卷的类型。 有效值为 GENERAL_PURPOSE_SSD 或 THROUGHPUT_OPTIMIZED_HDD。 |
ebs_volume_count |
Integer | 每个实例创建的卷数。 |
ebs_volume_size |
Integer | 为每个实例启动的每个 EBS 卷(以 GiB 为单位)的大小。 |
ebs_volume_iops |
Integer | 每个 EBS gp3 卷的 IOPS 数。 |
ebs_volume_throughput |
Integer | 每个 EBS gp3 卷的吞吐量(以 MiB/秒为单位)。 |
cluster.azure_attributes
Type: Map
与Microsoft Azure 上运行的群集相关的属性。
| Key | 类型 | Description |
|---|---|---|
first_on_demand |
Integer | 群集的第一个 first_on_demand 节点将放置在按需实例上。 |
availability |
String | 用于在 first_on_demand 节点之后的所有节点的可用性类型。 有效值为 SPOT_AZURE, ON_DEMAND_AZURESPOT_WITH_FALLBACK_AZURE。 |
spot_bid_max_price |
编号 | Azure 现成实例的最大价格。 使用 -1 指定最低价格。 |
log_analytics_info |
Map | Azure Log Analytics 代理的配置。 请参阅 log_analytics_info。 |
cluster.azure_attributes.log_analytics_info
Type: Map
Azure Log Analytics 代理的配置。
| Key | 类型 | Description |
|---|---|---|
log_analytics_workspace_id |
String | Azure Log Analytics 工作区的 ID。 |
log_analytics_primary_key |
String | Azure Log Analytics 工作区的主键。 |
cluster.gcp_attributes
Type: Map
与 Google Cloud Platform 上运行的群集相关的属性。
| Key | 类型 | Description |
|---|---|---|
use_preemptible_executors |
布尔 | 是否使用抢占执行器。 GCE 抢占执行程序是可随时被 GCE 回收的抢占实例。 |
google_service_account |
String | Databricks 群集 VM 实例使用的 Google 服务帐户。 |
local_ssd_count |
Integer | 要为集群中每个节点附加的本地 SSD 的数量。 默认值为 0。 |
zone_id |
String | 群集所在的可用性区域/数据中心的标识符。 |
availability |
String | 用于所有节点的可用性类型。 有效值为 PREEMPTIBLE_GCP, ON_DEMAND_GCPPREEMPTIBLE_WITH_FALLBACK_GCP。 |
boot_disk_size |
Integer | 启动磁盘的大小(以 GB 为单位)。 值通常范围为 100 到 1000。 |
cluster.cluster_log_conf
用于将 Spark 日志传送到长期存储目标的配置。
| Key | 类型 | Description |
|---|---|---|
dbfs |
Map | 群集日志传递的 DBFS 位置。 请参阅 dbfs。 |
s3 |
Map | 群集日志传输的 S3 位置。 请参阅 s3。 |
volumes |
Map | 用于群集日志传送的卷的位置。 请参阅 卷。 |
cluster.cluster_log_conf.dbfs
Type: Map
群集日志传递的 DBFS 位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | 群集日志传递的 DBFS 路径(例如, dbfs:/cluster-logs)。 |
cluster.cluster_log_conf.s3
Type: Map
群集日志传输的 S3 位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | 群集日志传递的 S3 URI(例如,s3://my-bucket/cluster-logs)。 |
region |
String | S3 存储桶的 AWS 区域。 |
endpoint |
String | S3 终结点 URL(可选)。 |
enable_encryption |
布尔 | 是否为群集日志启用加密。 |
encryption_type |
String | 加密类型。 有效值包括 SSE_S3,SSE_KMS. |
kms_key |
String | 用于加密的 KMS 密钥 ARN(当使用 SSE_KMS 时)。 |
canned_acl |
String | 要应用于群集日志的预定义 ACL。 |
cluster.cluster_log_conf.volumes
Type: Map
用于群集日志传送的卷的位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | 群集日志传送的卷路径(例如, /Volumes/catalog/schema/volume/cluster_log)。 |
cluster.docker_image
Type: Map
自定义 Docker 映像配置。
| Key | 类型 | Description |
|---|---|---|
url |
String | Docker 映像的 URL。 |
basic_auth |
Map | Docker 存储库的基本身份验证。 请参阅 basic_auth。 |
cluster.docker_image.basic_auth
Type: Map
Docker 存储库的基本身份验证。
| Key | 类型 | Description |
|---|---|---|
username |
String | Docker 注册表身份验证的用户名。 |
password |
String | Docker 注册表身份验证的密码。 |
集群初始脚本
Type: Map
用于存储初始化脚本的配置。 必须至少指定一个位置类型。
| Key | 类型 | Description |
|---|---|---|
dbfs |
Map | init 脚本的 DBFS 位置。 请参阅 dbfs。 |
workspace |
Map | init 脚本的工作区位置。 请参阅 workspace。 |
s3 |
Map | 初始化脚本的 S3 位置。 请参阅 s3。 |
abfss |
Map | init 脚本的 ABFSS 位置。 请参阅 abfss。 |
gcs |
Map | init 脚本的 GCS 位置。 请参阅 gcs。 |
volumes |
Map | UC 卷的 init 脚本位置。 请参阅 卷。 |
cluster.init_scripts.dbfs
Type: Map
init 脚本的 DBFS 位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | init 脚本的 DBFS 路径。 |
cluster.init_scripts.workspace(集群初始化脚本工作区)
Type: Map
init 脚本的工作区位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | init 脚本的工作区路径。 |
cluster.init_scripts.s3
Type: Map
初始化脚本的 S3 位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | init 脚本的 S3 URI。 |
region |
String | S3 存储桶的 AWS 区域。 |
endpoint |
String | S3 终结点 URL(可选)。 |
cluster.init_scripts.abfss
Type: Map
init 脚本的 ABFSS 位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | 初始化脚本的 ABFSS 路径。 |
cluster.init_scripts.gcs
Type: Map
init 脚本的 GCS 位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | init 脚本的 GCS 路径。 |
cluster.init_scripts.volumes
Type: Map
init 脚本的卷位置。
| Key | 类型 | Description |
|---|---|---|
destination |
String | "init" 脚本的 UC 卷路径。 |
cluster.workload_type(群集定义工作负载类型)
Type: Map
显示群集工作负荷类型的群集属性。
| Key | 类型 | Description |
|---|---|---|
clients |
Map | 定义客户端可以使用群集的类型。 请参阅 客户端。 |
集群.工作负载类型.客户端
Type: Map
此计算工作负荷的客户端类型。
| Key | 类型 | Description |
|---|---|---|
jobs |
布尔 | 群集是否可以运行作业。 |
notebooks |
布尔 | 群集是否可以运行笔记本。 |
Examples
以下示例使用 Databricks Runtime 15.4 LTS 和群集策略为当前用户创建专用(单用户)群集:
resources:
clusters:
my_cluster:
num_workers: 0
node_type_id: 'i3.xlarge'
driver_node_type_id: 'i3.xlarge'
spark_version: '15.4.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
autotermination_minutes: 60
enable_elastic_disk: true
single_user_name: ${workspace.current_user.userName}
policy_id: '000128DB309672CA'
enable_local_disk_encryption: false
data_security_mode: SINGLE_USER
runtime_engine: STANDARD
此示例创建一个简单的群集 my_cluster ,并将其设置为用于运行笔记本的 my_job群集:
bundle:
name: clusters
resources:
clusters:
my_cluster:
num_workers: 2
node_type_id: 'i3.xlarge'
autoscale:
min_workers: 2
max_workers: 7
spark_version: '13.3.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
jobs:
my_job:
tasks:
- task_key: test_task
notebook_task:
notebook_path: './src/my_notebook.py'
existing_cluster_id: ${resources.clusters.my_cluster.id}
仪表板
Type: Map
仪表板资源允许你在捆绑包中管理 AI/BI 仪表板 。 有关 AI/BI 仪表板的信息,请参阅 仪表板。
如果您部署了一个捆绑包,其中包含本地环境中的仪表板,然后使用 UI 修改该仪表板,则通过 UI 进行的修改不会应用在本地捆绑包中的仪表板 JSON 文件上,除非您使用 bundle generate 显式更新该文件。 可以使用 --watch 选项持续轮询和检索仪表板的更改。 请参阅 databricks 捆绑包生成。
此外,如果尝试从本地环境部署包含与远程工作区中的仪表板 JSON 文件不同版本的仪表板 JSON 文件的捆绑包,则会发生错误。 若要强制部署并用本地工作区的仪表板覆盖远程工作区中的仪表板,请使用 --force 选项。 请参阅 databricks 捆绑包部署。
在 Databricks CLI 版本 0.232.0 中添加
Note
将 Databricks 资产捆绑包与仪表板 Git 支持配合使用时,通过添加同步映射来防止生成重复的仪表板,避免将仪表板作为文件进行同步。
sync:
exclude:
- src/*.lvdash.json
dashboards:
<dashboard-name>:
<dashboard-field-name>: <dashboard-field-value>
| Key | 类型 | Description |
|---|---|---|
dataset_catalog |
String | 仪表板中所有数据集使用的默认目录值(如果未在查询中指定)。 有关设置此字段的示例配置,请参阅 仪表板目录和架构参数化。 在 Databricks CLI 版本 0.283.0 中添加 |
dataset_schema |
String | 仪表板中所有数据集使用的默认架构值(如果未在查询中指定)。 有关设置此字段的示例配置,请参阅 仪表板目录和架构参数化。 在 Databricks CLI 版本 0.283.0 中添加 |
display_name |
String | 仪表板的显示名称。 在 Databricks CLI 版本 0.232.0 中添加 |
embed_credentials |
布尔 | 捆绑包部署标识凭据是否用于为所有仪表板查看器执行查询。 如果设置为 false,则使用查看者的凭据。 默认值为 false。在 Databricks CLI 版本 0.232.0 中添加 |
etag |
String | 仪表板的实体标记。 可以在更新时选择提供,以确保自上次读取以来仪表板未被修改。 在 Databricks CLI 版本 0.234.0 中添加 |
file_path |
String | 仪表板资产的本地路径,包括文件名。 导出的仪表板始终具有文件扩展名 .lvdash.json。在 Databricks CLI 版本 0.232.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 |
parent_path |
String | 包含仪表板的文件夹的工作区路径。 包括前导斜杠和无尾部斜杠。 在 Databricks CLI 版本 0.232.0 中添加 |
path |
String | 仪表板资产的工作区路径,包括资产名称。 在 Databricks CLI 版本 0.234.0 中添加 |
permissions |
Sequence | 仪表板权限。 查看 权限。 在 Databricks CLI 版本 0.232.0 中添加 |
serialized_dashboard |
Any | 以序列化字符串形式表示的仪表板的内容。 在 Databricks CLI 版本 0.232.0 中添加 |
warehouse_id |
String | 用于运行仪表板的仓库 ID。 在 Databricks CLI 版本 0.232.0 中添加 |
Example
以下示例包含在 Databricks 工作区中部署 NYC 出租车行程分析 仪表板的步骤。
resources:
dashboards:
nyc_taxi_trip_analysis:
display_name: 'NYC Taxi Trip Analysis'
file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
warehouse_id: ${var.warehouse_id}
数据库目录
Type: Map
使用数据库目录资源可以定义与捆绑包中的数据库实例对应的 数据库目录 。 数据库目录是注册为 Unity 目录的 Lakebase 数据库。
有关数据库目录的信息,请参阅 “创建目录”。
在 Databricks CLI 版本 0.265.0 中添加
database_catalogs:
<database_catalog-name>:
<database_catalog-field-name>: <database_catalog-field-value>
| Key | 类型 | Description |
|---|---|---|
create_database_if_not_exists |
布尔 | 如果数据库不存在,则是否创建数据库。 在 Databricks CLI 版本 0.265.0 中添加 |
database_instance_name |
String | 包含数据库的实例的名称。 在 Databricks CLI 版本 0.265.0 中添加 |
database_name |
String | 与目录关联的数据库(实例中)的名称。 在 Databricks CLI 版本 0.265.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置,包括部署或销毁资源时资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.265.0 中添加 |
name |
String | Unity 目录中目录的名称。 在 Databricks CLI 版本 0.265.0 中添加 |
Example
以下示例使用相应的数据库目录定义 数据库实例 :
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true
数据库实例
Type: Map
通过数据库实例资源,可以在捆绑包中定义 数据库实例 。 Lakebase 数据库实例管理存储和计算资源,并提供用户连接到的终结点。
重要
使用数据库实例部署捆绑包时,该实例会立即开始运行,并受定价约束。 请参阅 Lakebase 定价。
有关数据库实例的信息,请参阅什么是数据库实例?
在 Databricks CLI 版本 0.265.0 中添加
database_instances:
<database_instance-name>:
<database_instance-field-name>: <database_instance-field-value>
| Key | 类型 | Description |
|---|---|---|
capacity |
String | 实例的 SKU。 有效值为 CU_1,, CU_2CU_4。 CU_8在 Databricks CLI 版本 0.265.0 中添加 |
custom_tags |
Sequence | 指定与实例关联的自定义标签的键值对列表。 在 Databricks CLI 版本 0.273.0 中添加 |
enable_pg_native_login |
布尔 | 实例是否启用了 PG 本机密码登录。 默认为 true。在 Databricks CLI 版本 0.267.0 中添加 |
enable_readable_secondaries |
布尔 | 是否启用辅助数据库来提供只读流量。 默认为 false。在 Databricks CLI 版本 0.265.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 实例的名称。 这是实例的唯一标识符。 在 Databricks CLI 版本 0.265.0 中添加 |
node_count |
Integer | 实例中的节点数,由 1 个主节点和 0 个或多个辅助数据库组成。 默认为 1 个主副本和 0 个辅助数据库。 在 Databricks CLI 版本 0.265.0 中添加 |
parent_instance_ref |
Map | 父实例的引用。 仅当实例为子实例时,此实例才可用。 请参阅 父实例。 在 Databricks CLI 版本 0.265.0 中添加 |
permissions |
Sequence | 数据库实例的权限。 查看 权限。 在 Databricks CLI 版本 0.265.0 中添加 |
retention_window_in_days |
Integer | 实例的保留时段。 这是保留历史数据的时间范围(以天为单位)。 默认值为 7 天。 有效值为 2 到 35 天。 在 Databricks CLI 版本 0.265.0 中添加 |
stopped |
布尔 | 实例是否已停止。 在 Databricks CLI 版本 0.265.0 中添加 |
usage_policy_id |
String | 要与实例关联的所需使用策略。 在 Databricks CLI 版本 0.273.0 中添加 |
database_instance.parent_instance_ref(数据库实例的父实例引用)
Type: Map
父实例的引用。 仅当实例为子实例时,此实例才可用。
| Key | 类型 | Description |
|---|---|---|
branch_time |
String | ref 数据库实例的分支时间。 对于父 ref 实例,这是创建实例的父实例的时间点。 对于子引用实例,这是创建子实例的实例的时间点。 |
lsn |
String | 用户指定的 ref 数据库实例的 WAL LSN。 |
name |
String | ref 数据库实例的名称。 |
Example
以下示例使用相应的 数据库目录定义数据库实例:
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true
有关演示如何定义数据库实例和相应数据库目录的示例捆绑包,请参阅 捆绑包示例 GitHub 存储库。
试验
Type: Map
试验资源允许在捆绑包中定义 MLflow 试验 。 有关 MLflow 试验的信息,请参阅 使用 MLflow 试验组织训练运行。
在 Databricks CLI 版本 0.229.0 中添加
experiments:
<experiment-name>:
<experiment-field-name>: <experiment-field-value>
| Key | 类型 | Description |
|---|---|---|
artifact_location |
String | 存储试验项目的位置。 在 Databricks CLI 版本 0.229.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 标识试验的易记名称。 例如 /Workspace/Users/someone@example.com/my_experiment,试验名称必须是 Databricks 工作区中的绝对路径。在 Databricks CLI 版本 0.229.0 中添加 |
permissions |
Sequence | 试验的权限。 查看 权限。 在 Databricks CLI 版本 0.229.0 中添加 |
tags |
Sequence | 其他元数据键值对。 请参阅 标记。 在 Databricks CLI 版本 0.229.0 中添加 |
Example
以下示例定义了所有用户都可以查看的试验:
resources:
experiments:
experiment:
name: /Workspace/Users/someone@example.com/my_experiment
permissions:
- level: CAN_READ
group_name: users
description: MLflow experiment used to track runs
作业
Type: Map
Databricks 资产捆绑包的 Python 支持作业。 请参阅 databricks.bundles.jobs。
作业资源允许你在捆绑包中定义 作业及其相应的任务 。
有关工作的更多信息,请参阅 Lakeflow 工作。 有关使用 Databricks 资产捆绑模板创建作业的教程,请参阅 使用 Databricks 资产捆绑包开发作业。
在 Databricks CLI 版本 0.229.0 中添加
jobs:
<job-name>:
<job-field-name>: <job-field-value>
| Key | 类型 | Description |
|---|---|---|
budget_policy_id |
String | 要用于此作业的用户指定预算策略的 ID。 如果未指定,则创建或修改作业时,可以应用默认预算策略。 请参阅 effective_budget_policy_id 了解此工作负载使用的预算策略。在 Databricks CLI 版本 0.231.0 中添加 |
continuous |
Map | 此作业的可选连续属性。 连续属性将确保始终有一个运行在执行。
schedule 和 continuous 中只能使用一个。 请参阅 continuous。在 Databricks CLI 版本 0.229.0 中添加 |
deployment |
Map | 由外部源管理的作业的部署信息。 请参阅 部署。 在 Databricks CLI 版本 0.229.0 中添加 |
description |
String | 作业的可选说明。 UTF-8 编码的最大长度为 27700 个字符。 在 Databricks CLI 版本 0.229.0 中添加 |
email_notifications |
Map | 一组可选的电子邮件地址,在此作业的运行开始或完成时,以及在删除此作业时,这些电子邮件地址将会收到通知。 请参阅 email_notifications。 在 Databricks CLI 版本 0.229.0 中添加 |
environments |
Sequence | 此作业的无服务器任务可以引用的任务执行环境规范列表。 需要存在环境以支持无服务器任务。 对于无服务器笔记本任务,可以在笔记本环境面板中访问环境。 对于其他无服务器任务,需要使用任务设置中的environment_key指定任务环境。 请参阅 environments。 在 Databricks CLI 版本 0.229.0 中添加 |
format |
String | Deprecated. 作业的格式。 |
git_source |
Map | 远程 Git 存储库的可选规范,其中包含任务使用的源代码。 请参阅 job.git_source。 在 Databricks CLI 版本 0.229.0 中添加 重要:不建议将 git_source字段和任务source字段设置为GIT,因为本地相对路径可能不会指向 Git 存储库中的相同内容,而捆绑包要求部署的作业内容与其从中部署的本地副本相同。相反,会在本地克隆存储库并在此存储库中设置捆绑包项目,以便任务源是工作区。 |
health |
Map | 可为此作业定义的一组可选运行状况规则。 查看 健康。 在 Databricks CLI 版本 0.229.0 中添加 |
job_clusters |
Sequence | 此作业的任务可以共享和重复使用的作业群集规范列表。 请参阅 job_clusters。 在 Databricks CLI 版本 0.229.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
max_concurrent_runs |
Integer | 作业的最大允许并发运行数,可选。 如果希望能够以并发方式执行同一作业的多个运行,请设置此值。 |
name |
String | 可选的作业名称。 UTF-8 编码的最大长度为 4096 字节。 在 Databricks CLI 版本 0.229.0 中添加 |
notification_settings |
Map | 向此作业的每个 email_notifications 和 webhook_notifications 发送通知时使用的可选通知设置。 请参阅 notification_settings。在 Databricks CLI 版本 0.229.0 中添加 |
parameters |
Sequence | 作业级参数定义。 在 Databricks CLI 版本 0.229.0 中添加 |
performance_target |
String | 定义在无服务器上运行的执行的性能或成本效益。 在 Databricks CLI 版本 0.241.0 中添加 |
permissions |
Sequence | 作业的权限。 查看 权限。 在 Databricks CLI 版本 0.229.0 中添加 |
queue |
Map | 作业的队列设置。 请参阅 queue。 在 Databricks CLI 版本 0.229.0 中添加 |
run_as |
Map | 仅写入设置。 指定作业运行时所用的用户或服务主体。 如果未指定,作业将作为创建作业的用户运行。 应指定user_name或service_principal_name其中之一。 否则,将引发错误。 请参阅 run_as。在 Databricks CLI 版本 0.229.0 中添加 |
schedule |
Map | 此作业的可选定期计划。 默认行为是,只有通过在作业 UI 中单击“立即运行”或向该作业发送 API 请求 runNow来触发时,作业才会运行。 请参阅 计划。在 Databricks CLI 版本 0.229.0 中添加 |
tags |
Map | 与作业关联的标记映射。 这些内容作为作业群集的群集标记转发到群集,并且受到与群集标记相同的限制。 最多可以向作业添加 25 个标记。 在 Databricks CLI 版本 0.229.0 中添加 |
tasks |
Sequence | 此作业要执行的任务规范列表。 请参阅将任务添加到 Databricks 资产捆绑包中的作业。 在 Databricks CLI 版本 0.237.0 中添加 |
timeout_seconds |
Integer | 可选的超时设置,应用于此作业的每个运行。 值 0 意味着无超时。在 Databricks CLI 版本 0.229.0 中添加 |
trigger |
Map | 满足某些条件时触发运行的配置。 请参阅 触发器。 在 Databricks CLI 版本 0.229.0 中添加 |
usage_policy_id |
String | 用于此作业的使用策略的 ID。 在 Databricks CLI 版本 0.273.0 中添加 |
webhook_notifications |
Map | 此作业的运行开始或完成时要通知的系统通知 ID 的集合。 请参阅 webhook_notifications。 在 Databricks CLI 版本 0.229.0 中添加 |
作业.连续
Type: Map
连续作业执行的配置。
| Key | 类型 | Description |
|---|---|---|
pause_status |
String | 是否暂停连续作业。 有效值: PAUSED, UNPAUSED。 |
task_retry_mode |
String | 说明持续作业如何应用任务级别重试。 有效值为 NEVER 和 ON_FAILURE。 默认为 NEVER。 |
任务.部署
Type: Map
由外部源管理的作业的部署信息。
| Key | 类型 | Description |
|---|---|---|
kind |
String | 部署类型。 例如,BUNDLE。 |
metadata_file_path |
String | 用于部署的元数据文件路径 |
job.email_notifications # 电子邮件通知
Type: Map
作业运行的电子邮件通知设置。
| Key | 类型 | Description |
|---|---|---|
on_start |
Sequence | 运行启动时要通知的电子邮件地址列表。 |
on_success |
Sequence | 运行成功时要通知的电子邮件地址列表。 |
on_failure |
Sequence | 运行失败时要通知的电子邮件地址列表。 |
on_duration_warning_threshold_exceeded |
Sequence | 当运行持续时间超过警告阈值时通知的电子邮件地址列表。 |
no_alert_for_skipped_runs |
布尔 | 是否选择跳过发送运行被跳过时的警报。 |
on_streaming_backlog_exceeded |
Sequence | 任何流超过任何流积压工作阈值时要通知的电子邮件地址列表。 可以使用以下指标在health字段中设置流式积压工作阈值:STREAMING_BACKLOG_BYTES、STREAMING_BACKLOG_RECORDS或STREAMING_BACKLOG_SECONDSSTREAMING_BACKLOG_FILES。 警报基于这些指标的 10 分钟平均值。 如果问题仍然存在,则每 30 分钟重新发送一次通知。 |
作业.环境
Type: Sequence
任务执行环境规范的列表,供作业中的无服务器任务引用。
列表中的每一项都是一个JobEnvironment:
| Key | 类型 | Description |
|---|---|---|
environment_key |
String | 环境的关键。 它必须在作业中是唯一的。 |
spec |
Map | 表示无服务器环境的实体。 请参阅 job.environments.spec。 |
job.environments.spec
Type: Map
表示无服务器环境的实体。
| Key | 类型 | Description |
|---|---|---|
client |
String | Deprecated. 客户端版本。 |
dependencies |
Sequence | 此环境中的 pip 版本支持的 pip 依赖项列表。 |
environment_version |
String | 必填。 环境使用的环境版本。 每个版本都有一个特定的 Python 版本和一组 Python 包。 版本是一个字符串,由整数组成。 |
job.git_source
Type: Map
作业源代码的 Git 存储库配置。
| Key | 类型 | Description |
|---|---|---|
git_branch |
String | 要签出和使用此作业的分支的名称。 此字段不能与 git_tag 或 git_commit 同时指定。 |
git_commit |
String | 要签出和使用此作业的提交。 此字段不能与 git_branch 或 git_tag 同时指定。 |
git_provider |
String | 用于托管 Git 存储库的服务的唯一标识符。 该值不区分大小写。 有效值为 gitHub:、bitbucketCloud、、gitLab、azureDevOpsServicesgitHubEnterprise、bitbucketServer. gitLabEnterpriseEdition |
git_snapshot |
Map | 运行作业时远程存储库的只读状态。 此字段仅在作业执行时包含。 请参阅 git_snapshot。 |
git_tag |
String | 要签出和使用此作业的标记的名称。 此字段不能与 git_branch 或 git_commit 同时指定。 |
git_url |
String | 要由此作业克隆的存储库的 URL。 |
job.git_source.git_snapshot
Type: Map
只读提交信息快照。
| Key | 类型 | Description |
|---|---|---|
used_commit |
String | 用于执行运行的提交。 如果 git_branch 已指定,则指向运行时分支的 HEAD。如果 git_tag 已指定,则指向提交标记所指向的提交。 |
任务.健康
Type: Map
健康监控配置用于作业。
| Key | 类型 | Description |
|---|---|---|
rules |
Sequence | 作业健康规则列表。 每个规则都包含一个 metric 和 op (运算符) 和 value。 请参阅 job.health.rules。 |
作业健康规则
Type: Sequence
作业健康规则列表。
列表中的每一项都是一个JobHealthRule:
| Key | 类型 | Description |
|---|---|---|
metric |
String | 指定正在针对特定健康规则进行评估的健康指标。
|
op |
String | 指定用于将运行状况指标值与指定阈值进行比较的运算符。 |
value |
Integer | 指定运行状况指标应遵循的阈值以满足运行状况规则。 |
job.job_clusters
Type: Sequence
此作业的任务可以共享和重复使用的作业群集规范列表。 无法在共享作业群集中声明库。 必须在任务设置中声明依赖库。
列表中的每一项都是一个JobCluster:
| Key | 类型 | Description |
|---|---|---|
job_cluster_key |
String | 作业群集的唯一名称。 此字段是必需的,并且必须在作业中是唯一的。
JobTaskSettings 可以引用此字段来确定要为任务执行启动的群集。 |
new_cluster |
Map | 如果new_cluster,则说明为每个任务创建的群集。 请参阅 群集。 |
job.通知设置
Type: Map
适用于作业中所有通知的通知设置。
| Key | 类型 | Description |
|---|---|---|
no_alert_for_skipped_runs |
布尔 | 是否选择跳过发送运行被跳过时的警报。 |
no_alert_for_canceled_runs |
布尔 | 是否跳过发送已取消运行的警报。 |
作业队列
Type: Map
作业的队列设置。
| Key | 类型 | Description |
|---|---|---|
enabled |
布尔 | 是否为作业启用排队。 |
任务.调度
Type: Map
定时计划配置用于定期执行作业。
| Key | 类型 | Description |
|---|---|---|
quartz_cron_expression |
String | 使用 Quartz 语法的 Cron 表达式,用于指定任务的运行时间。 例如, 0 0 9 * * ? 每天上午 9:00 UTC 运行作业。 |
timezone_id |
String | 计划安排所用的时区。 例如,America/Los_Angeles 或 UTC。 |
pause_status |
String | 计划是否暂停。 有效值: PAUSED, UNPAUSED。 |
作业.触发器
Type: Map
事件驱动作业执行的触发器配置。
| Key | 类型 | Description |
|---|---|---|
file_arrival |
Map | 基于文件到达的触发器。 请参阅 file_arrival。 |
table |
Map | 基于表的触发器。 请参阅 表。 |
table_update |
Map | 基于表更新的触发器。 请参阅 table_update。 |
periodic |
Map | 定期触发器。 请参阅 定期。 |
任务.触发器.文件到达
Type: Map
根据文件到达事件进行配置触发。
| Key | 类型 | Description |
|---|---|---|
url |
String | 要监视新文件的文件路径。 |
min_time_between_triggers_seconds |
Integer | 触发器事件之间的最短时间(以秒为单位)。 |
wait_after_last_change_seconds |
Integer | 在触发前最后一个文件更改后的等待时间(以秒为单位)。 |
作业.触发.表
Type: Map
基于表的触发器配置。
| Key | 类型 | Description |
|---|---|---|
table_names |
Sequence | 要监视的表名列表。 |
condition |
String | 触发作业必须满足的 SQL 条件。 |
job.trigger.table_update(触发器更新表)
Type: Map
基于表更新的触发配置。
| Key | 类型 | Description |
|---|---|---|
table_names |
Sequence | 要监视更新的表名列表。 |
condition |
String | 触发作业必须满足的 SQL 条件。 |
wait_after_last_change_seconds |
Integer | 在最新一次的表更新后触发之前的等待时间(以秒为单位)。 |
工作.触发.周期性
Type: Map
定时触发配置。
| Key | 类型 | Description |
|---|---|---|
interval |
Integer | 定期触发器的间隔值。 |
unit |
String | 间隔的时间单位。 有效值:SECONDS、、MINUTESHOURS、DAYSWEEKS。 |
作业.网络钩子通知
Type: Map
作业运行的 Webhook 通知设置。
| Key | 类型 | Description |
|---|---|---|
on_start |
Sequence | 在运行开始时需要通知的 Webhook 通知 ID 列表。 |
on_success |
Sequence | 运行成功时要通知的 Webhook 通知 ID 的列表。 |
on_failure |
Sequence | 运行失败时要通知的 Webhook 通知 ID 的列表。 |
on_duration_warning_threshold_exceeded |
Sequence | 当运行持续时间超过警告阈值时要通知的 Webhook 通知 ID 的列表。 |
on_streaming_backlog_exceeded |
Sequence | 当任何流超出任何流积压工作阈值时要调用的系统通知 ID 的列表。 可以使用以下指标在health字段中设置流式积压工作阈值:STREAMING_BACKLOG_BYTES、STREAMING_BACKLOG_RECORDS或STREAMING_BACKLOG_SECONDSSTREAMING_BACKLOG_FILES。 警报基于这些指标的 10 分钟平均值。 如果问题仍然存在,则每 30 分钟重新发送一次通知。 最多可以指定 3 个目标。 |
Examples
以下示例定义了一个资源键为 hello-job 的作业,其中包含一个笔记本任务:
resources:
jobs:
hello-job:
name: hello-job
tasks:
- task_key: hello-task
notebook_task:
notebook_path: ./hello.py
以下示例使用 SQL 笔记本定义作业:
resources:
jobs:
job_with_sql_notebook:
name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
tasks:
- task_key: notebook
notebook_task:
notebook_path: ./select.sql
warehouse_id: 799f096837fzzzz4
有关其他作业配置示例,请参阅 作业配置。
有关定义作业任务和替代作业设置的信息,请参阅:
模型(旧版)
Type: Map
模型资源允许在捆绑包中定义 旧模型 。 Databricks 建议改用 Unity 目录 注册的模型 。
在 Databricks CLI 版本 0.229.0 中添加
模型服务端点
Type: Map
model_serving_endpoint资源允许定义 模型服务终结点。 请参阅管理模型服务终结点。
在 Databricks CLI 版本 0.229.0 中添加
model_serving_endpoints:
<model_serving_endpoint-name>:
<model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>
| Key | 类型 | Description |
|---|---|---|
ai_gateway |
Map | 服务终结点的 AI 网关配置。 注意:目前仅支持外部模型和预配的吞吐量终结点。 请参阅 ai_gateway。 在 Databricks CLI 版本 0.230.0 中添加 |
budget_policy_id |
String | 要用于此终结点的预算策略的 ID。 在 Databricks CLI 版本 0.244.0 中添加 |
config |
Map | 服务终结点的核心配置。 请参阅 配置。 在 Databricks CLI 版本 0.229.0 中添加 |
description |
String | 服务终结点的说明。 在 Databricks CLI 版本 0.260.0 中添加 |
email_notifications |
Map | 服务终结点的电子邮件通知配置。 请参阅 email_notifications。 在 Databricks CLI 版本 0.264.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 服务终结点的名称。 此字段是必需的,并且必须在 Databricks 工作区中是唯一的。 终结点名称可以包含字母数字字符、短划线和下划线。 在 Databricks CLI 版本 0.229.0 中添加 |
permissions |
Sequence | 模型服务终结点的权限。 查看 权限。 在 Databricks CLI 版本 0.229.0 中添加 |
rate_limits |
Sequence | Deprecated. 要应用于服务终结点的速率限制。 使用 AI 网关管理速率限制。 在 Databricks CLI 版本 0.229.0 中添加 |
route_optimized |
布尔 | 为服务终结点启用路由优化。 在 Databricks CLI 版本 0.229.0 中添加 |
tags |
Sequence | 要附加到服务终结点并自动传播到计费日志的标记。 在 Databricks CLI 版本 0.229.0 中添加 |
model_serving_endpoint.email_notifications
Type: Map
服务终结点的电子邮件通知配置。
| Key | 类型 | Description |
|---|---|---|
on_update_failure |
Sequence | 终结点无法更新其配置或状态时要通知的电子邮件地址列表。 |
on_update_success |
Sequence | 终结点成功更新其配置或状态时要通知的电子邮件地址列表。 |
模型服务端点.ai网关
Type: Map
服务终结点的 AI 网关配置。
| Key | 类型 | Description |
|---|---|---|
fallback_config |
Map | 如果对服务实体的请求失败并出现某些错误代码,则流量回退的配置会自动回退到其他服务实体,以提高可用性。 请参阅 fallback_config。 |
guardrails |
Map | 护栏配置。 请参阅 护栏。 |
inference_table_config |
Map | 配置用于将推理日志记录到 Unity 目录表。 请参阅 inference_table_config。 |
rate_limits |
Sequence | 限流配置。 |
usage_tracking_config |
Map | 用于跟踪使用情况的配置。 请参阅 usage_tracking_config。 |
model_serving_endpoint.ai_gateway.fallback_config
Type: Map
配置流量回退,如果请求失败并出现某些错误代码,则自动回退到其他服务实体。
| Key | 类型 | Description |
|---|---|---|
enabled |
布尔 | 是否为此终结点启用回退。 |
模型服务端点.ai_gateway.护栏
Type: Map
AI 网关防护配置。
| Key | 类型 | Description |
|---|---|---|
input |
Map | 输入护栏配置,字段如下所示safetypii。 |
output |
Map | 输出防护栏配置,字段如下所示safetypii。 |
invalid_keywords |
Sequence | 要阻止的关键字列表。 |
model_serving_endpoint.ai_gateway.推理表配置
Type: Map
配置用于将推理日志记录到 Unity 目录表。
| Key | 类型 | Description |
|---|---|---|
catalog_name |
String | Unity 目录中目录的名称。 |
schema_name |
String | Unity 目录中架构的名称。 |
table_name_prefix |
String | 推断表名的前缀。 |
enabled |
布尔 | 是否启用推理表日志。 |
模型服务端点.AI网关.使用跟踪配置
Type: Map
用于跟踪使用情况的 AI 网关配置。
| Key | 类型 | Description |
|---|---|---|
enabled |
布尔 | 是否启用使用情况跟踪。 |
模型服务端点.config
Type: Map
服务终结点的核心配置。
| Key | 类型 | Description |
|---|---|---|
served_entities |
Sequence | 用于终结点服务的实体列表。 每个服务实体都包含字段,例如entity_name、entity_version、workload_size、scale_to_zero_enabledworkload_typeenvironment_vars。 |
served_models |
Sequence | (已弃用:改用 served_entities )终结点要提供服务的模型列表。 |
traffic_config |
Map | 定义如何将调用请求路由到服务终结点的流量配置。 请参阅 traffic_config。 |
auto_capture_config |
Map | 用于自动记录对 Unity Catalog 的请求和响应的推断表配置。 请参阅 auto_capture_config。 |
模型服务端点.config.traffic_config
Type: Map
定义如何将调用请求路由到服务终结点的流量配置。
| Key | 类型 | Description |
|---|---|---|
routes |
Sequence | 用于流量分配的路由列表。 每个路由都包含 served_model_name 和 traffic_percentage。 |
model_serving_endpoint.config.auto_capture_config
Type: Map
用于自动记录对 Unity Catalog 的请求和响应的推断表配置。
| Key | 类型 | Description |
|---|---|---|
catalog_name |
String | Unity 目录中目录的名称。 |
schema_name |
String | Unity 目录中架构的名称。 |
table_name_prefix |
String | 推断表名的前缀。 |
enabled |
布尔 | 是否启用推理表日志。 |
Example
以下示例定义了 Unity Catalog 模型服务终结点:
resources:
model_serving_endpoints:
uc_model_serving_endpoint:
name: 'uc-model-endpoint'
config:
served_entities:
- entity_name: 'myCatalog.mySchema.my-ads-model'
entity_version: '10'
workload_size: 'Small'
scale_to_zero_enabled: 'true'
traffic_config:
routes:
- served_model_name: 'my-ads-model-10'
traffic_percentage: '100'
tags:
- key: 'team'
value: 'data science'
管道
Type: Map
在 Databricks 资产捆绑包中,管道支持 Python。 请参阅 databricks.bundles.pipelines。
使用管道资源可以创建 管道。 有关管道的信息,请参阅 Lakeflow Spark 声明性管道。 有关使用 Databricks 资产捆绑包模板创建管道的教程,请参阅 使用 Databricks 资产捆绑包开发 Lakeflow Spark 声明性管道。
在 Databricks CLI 版本 0.229.0 中添加
pipelines:
<pipeline-name>:
<pipeline-field-name>: <pipeline-field-value>
| Key | 类型 | Description |
|---|---|---|
allow_duplicate_names |
布尔 | 如果为 false,则名称与其他管道的名称冲突时,部署将失败。 在 Databricks CLI 版本 0.261.0 中添加 |
budget_policy_id |
String | 此管道的预算政策。 在 Databricks CLI 版本 0.230.0 中添加 |
catalog |
String | Unity Catalog 中要将数据从此管道发布到的目录。 如果指定了target,此管道中的表将在target中的catalog架构内发布(例如 catalog.target.table)。 如果未 target 指定,则不会将任何数据发布到 Unity 目录。在 Databricks CLI 版本 0.229.0 中添加 |
channel |
String | Lakeflow Spark 声明性管道发布通道,指定要使用的 Lakeflow Spark 声明性管道的版本。 在 Databricks CLI 版本 0.229.0 中添加 |
clusters |
Sequence | 此管道部署的群集设置。 请参阅 群集。 在 Databricks CLI 版本 0.229.0 中添加 |
configuration |
Map | 此管道执行的配置。 在 Databricks CLI 版本 0.229.0 中添加 |
continuous |
布尔 | 管道是连续运行的还是触发运行的。 这会替换 trigger。在 Databricks CLI 版本 0.229.0 中添加 |
deployment |
Map | 此管道的部署类型。 请参阅 部署。 在 Databricks CLI 版本 0.229.0 中添加 |
development |
布尔 | 管道是否处于开发模式。 默认值为 false。 在 Databricks CLI 版本 0.229.0 中添加 |
dry_run |
布尔 | 管道是否为干运行管道。 |
edition |
String | 管道产品版本。 在 Databricks CLI 版本 0.229.0 中添加 |
environment |
Map | 此管道的环境规范,用于在无服务器计算上安装依赖项。 查看 环境。 此密钥仅在 Databricks CLI 版本 0.258 及更高版本中受支持。 在 Databricks CLI 版本 0.257.0 中添加 |
event_log |
Map | 此管道的事件日志配置。 请参阅 event_log。 在 Databricks CLI 版本 0.246.0 中添加 |
filters |
Map | 该筛选器用于确定要包含在已部署图形中的管道包。 请参阅 筛选器。 在 Databricks CLI 版本 0.229.0 中添加 |
gateway_definition |
Map | 网关管道的配置。 这些设置不能与设置一起使用 ingestion_definition 。在 Databricks CLI 版本 0.229.0 中添加 |
id |
String | 此管道的唯一标识符。 在 Databricks CLI 版本 0.229.0 中添加 |
ingestion_definition |
Map | 托管引入管道的配置。 这些设置不能与libraries、schema、target或catalog设置一起使用。 请参阅 ingestion_definition。在 Databricks CLI 版本 0.229.0 中添加 |
libraries |
Sequence | 此部署所需的库或代码列表。 请参阅 pipeline.libraries。 在 Databricks CLI 版本 0.229.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 此管道的易记名称。 在 Databricks CLI 版本 0.229.0 中添加 |
notifications |
Sequence | 此管道的通知设置。 请参阅 通知。 在 Databricks CLI 版本 0.229.0 中添加 |
permissions |
Sequence | 管道的权限。 查看 权限。 在 Databricks CLI 版本 0.229.0 中添加 |
photon |
布尔 | 是否为此管道启用了 Photon。 如果 serverless 设置为 true,则忽略此键。在 Databricks CLI 版本 0.229.0 中添加 |
restart_window |
Map | 定义此管道的重启窗口。 可以在此窗口中重启管道,而无需落后。 |
root_path |
String | 此管道的根路径。 这在 Databricks 用户界面中编辑管道时用作根目录,并在管道执行期间执行 Python 源时将其添加到 sys.path。 在 Databricks CLI 版本 0.253.0 中添加 |
run_as |
Map | 管道运行时使用的身份。 如果未指定,则管道将以创建它的用户身份运行。 只能指定user_name或service_principal_name。 如果同时指定了两者,则会引发错误。 请参阅 run_as。在 Databricks CLI 版本 0.241.0 中添加 |
schema |
String | 作为表的读取来源或发布目标的默认架构(数据库)。 在 Databricks CLI 版本 0.230.0 中添加 |
serverless |
布尔 | 是否为此管道启用了无服务器计算。 在 Databricks CLI 版本 0.229.0 中添加 |
storage |
String | 用于存储检查点和表的 DBFS 根目录。 在 Databricks CLI 版本 0.229.0 中添加 |
tags |
Map | 与流水线相关的标签映射。 这些内容作为群集标记转发到群集,因此受到相同的限制。 最多可以向管道添加 25 个标记。 在 Databricks CLI 版本 0.256.0 中添加 |
target |
String | 要将此管道中的表添加到的目标架构(数据库)。 必须指定 schema 或 target 中的一个。 若要发布到 Unity 目录,还指定 catalog。 用于创建管道的此旧字段已弃用,以支持 schema 字段。在 Databricks CLI 版本 0.229.0 中添加 |
usage_policy_id |
String | 用于此管道的使用策略的 ID。 在 Databricks CLI 版本 0.273.0 中添加 |
管道.部署
Type: Map
管道的部署类型配置。
| Key | 类型 | Description |
|---|---|---|
kind |
String | 部署类型。 例如,BUNDLE。 |
metadata_file_path |
String | 用于部署的元数据文件路径 |
pipeline.environment (管道环境)
Type: Map
用于在无服务器计算上安装依赖项的环境规范。
| Key | 类型 | Description |
|---|---|---|
dependencies |
Sequence | 此环境中的 pip 版本支持的 pip 依赖项列表。 每个依赖项都是 pip 需求文件中的一行。 |
pipeline.event_log(管道事件日志)
Type: Map
管道的事件日志配置。
| Key | 类型 | Description |
|---|---|---|
catalog |
String | 事件日志被发布在 Unity Catalog 所属的目录下。 |
name |
String | 在 Unity Catalog 中发布事件日志的名称。 |
schema |
String | 活动日志发布于 Unity Catalog 架构下。 |
管道.过滤器
Type: Map
用于确定在已部署图表中需纳入的管道包的筛选器。
| Key | 类型 | Description |
|---|---|---|
include |
Sequence | 要包含的包名称的列表。 |
exclude |
Sequence | 要排除的包名称的列表。 |
pipeline.ingestion_definition
Type: Map
托管引入管道的配置。 这些设置不能与libraries、schema、target或catalog设置一起使用。
| Key | 类型 | Description |
|---|---|---|
connection_name |
String | 要用于引入的连接的名称。 |
ingestion_gateway_id |
String | 引入网关的 ID。 |
objects |
Sequence | 必填。 指定要复制的表和复制表的目标的设置。 每个对象可以是 SchemaSpec、 TableSpec 或 ReportSpec。 |
source_configurations |
Sequence | 顶级源配置。 |
table_configuration |
Map | 引入表的配置。 请参阅 table_configuration。 |
SchemaSpec
Type: Map
用于从架构中引入所有表的架构对象规范。
| Key | 类型 | Description |
|---|---|---|
source_schema |
String | 要引入的源架构的名称。 |
destination_catalog |
String | Unity Catalog 中目标目录的名称。 |
destination_schema |
String | Unity 目录中的目标架构的名称。 |
table_configuration |
Map | 应用于该架构中所有表的配置。 请参阅 pipeline.ingestion_definition.table_configuration。 |
TableSpec
Type: Map
用于导入特定表的表对象规范。
| Key | 类型 | Description |
|---|---|---|
source_schema |
String | 包含表的源架构的名称。 |
source_table |
String | 要引入的源表的名称。 |
destination_catalog |
String | Unity Catalog 中目标目录的名称。 |
destination_schema |
String | Unity 目录中的目标架构的名称。 |
destination_table |
String | Unity Catalog中的目标表名称。 |
table_configuration |
Map | 此特定表的配置。 请参阅 pipeline.ingestion_definition.table_configuration。 |
ReportSpec
Type: Map
用于引入分析报表的报表对象规范。
| Key | 类型 | Description |
|---|---|---|
source_url |
String | 源报表的 URL。 |
source_report |
String | 源报表的名称或标识符。 |
destination_catalog |
String | Unity Catalog 中目标目录的名称。 |
destination_schema |
String | Unity 目录中的目标架构的名称。 |
destination_table |
String | 报告数据目标表的名称。 |
table_configuration |
Map | 报表表的配置。 请参阅 pipeline.ingestion_definition.table_configuration。 |
pipeline.ingestion_definition.source_configurations
Type: Map
源的配置。
| Key | 类型 | Description |
|---|---|---|
catalog |
Map | 目录级源配置参数。 请参阅 目录。 |
pipeline.摄取定义.源配置.catalog
Type: Map
目录级源配置参数
| Key | 类型 | Description |
|---|---|---|
postgres |
Map | 特定于 Postgres 的目录级配置参数。 包含一个slot_config键,该键是一个Map,代表用于逻辑复制的 Postgres 插槽配置。 |
source_catalog |
String | 源目录名称。 |
管道.摄入_定义.表_配置
Type: Map
引入表的配置选项。
| Key | 类型 | Description |
|---|---|---|
exclude_columns |
Sequence | 列出要在数据摄取过程中排除的列名。 未指定时,include_columns 完全控制要引入的列。 指定后,所有其他列(包括未来的列)将自动纳入数据引入过程。 此字段与 include_columns 互斥。 |
include_columns |
Sequence | 要包含用于引入的列名的列表。 如果未指定,将包含除其中列 exclude_columns 以外的所有列。 将来的列将被自动包含。 指定后,所有其他将来的列将自动排除在引入之外。 此字段与 exclude_columns 互斥。 |
primary_keys |
Sequence | 用于作为表主键的列名列表。 |
sequence_by |
Sequence | 指定源数据中事件的逻辑顺序的列名。 Spark 声明性管道使用此排序来处理顺序无序到达的更改事件。 |
管道.库
Type: Sequence
定义此管道所需的库或代码列表。
列表中的每个项都是一个定义:
| Key | 类型 | Description |
|---|---|---|
file |
Map | 存储在 Databricks Repos 中的定义管道的文件路径。 请参阅 pipeline.libraries.file。 |
glob |
Map | 用于包含源代码的统一字段。 每个条目可以是笔记本路径、文件路径或结束 /**的文件夹路径。 此字段不能与 notebook 或 file 一起使用。 请参阅 pipeline.libraries.glob。 |
notebook |
Map | 定义管道并存放在 Databricks 工作区的笔记本的路径。 请参阅 pipeline.libraries.notebook。 |
whl |
String | 此字段已弃用 |
pipeline.libraries.file(管道.库.文件)
Type: Map
存储在 Databricks Repos 中用于定义管道的文件路径。
| Key | 类型 | Description |
|---|---|---|
path |
String | 源代码的绝对路径。 |
pipeline.libraries.glob
Type: Map
用于包含源代码的统一字段。 每个条目可以是笔记本路径、文件路径或结束 /**的文件夹路径。 此字段不能与 notebook 或 file 一起使用。
| Key | 类型 | Description |
|---|---|---|
include |
String | 要包含管道的源代码 |
pipeline.libraries.notebook
Type: Map
定义管道并存放在 Databricks 工作区的笔记本的路径。
| Key | 类型 | Description |
|---|---|---|
path |
String | 源代码的绝对路径。 |
pipeline.notifications
Type: Sequence
此管道的通知设置。 序列中的每个项都是通知配置。
| Key | 类型 | Description |
|---|---|---|
alerts |
Sequence | 触发通知的警报列表。 有效值包括on-update-success,,on-update-failure,on-update-fatal-failureon-flow-failure。 |
email_recipients |
Sequence | 触发配置的警报时要通知的电子邮件地址列表。 |
Example
以下示例定义了一个具有资源键 hello-pipeline 的管道:
resources:
pipelines:
hello-pipeline:
name: hello-pipeline
clusters:
- label: default
num_workers: 1
development: true
continuous: false
channel: CURRENT
edition: CORE
photon: false
libraries:
- notebook:
path: ./pipeline.py
有关其他管道配置示例,请参阅 管道配置。
postgres_branch
Type:Map
Postgres 分支资源允许在捆绑包中定义 Lakebase 分支 。 还必须定义相应的 Postgres 项目 和 计算终结点。
在 Databricks CLI 版本 0.287.0 中添加
postgres_branches:
<postgres_branch-name>:
<postgres_branch-field-name>: <postgres_branches-field-value>
| Key | 类型 | Description |
|---|---|---|
branch_id |
String | 用于分支的 ID。 这将成为分支资源名称的最终组件。 ID 是必需的,并且长度必须为 1-63 个字符,以小写字母开头,并且仅包含小写字母、数字和连字符。 例如,development 将变为 projects/my-app/branches/development。在 Databricks CLI 版本 0.287.0 中添加 |
expire_time |
String | 绝对过期时间戳。 设置后,分支将在此时间过期。 在 Databricks CLI 版本 0.287.0 中添加 |
is_protected |
布尔 | 设置为 true 时,保护分支免遭删除和重置。 当分支受到保护时,无法删除关联的计算终结点和项目。 在 Databricks CLI 版本 0.287.0 中添加 |
no_expiry |
布尔 | 显式禁用过期。 如果设置为 true,分支将不会过期。 如果设置为 false,则请求无效;请改为提供 ttl 或 expire_time。 在 Databricks CLI 版本 0.287.0 中添加 |
parent |
String | 将在其中创建此分支的项目。 格式:projects/{project_id}在 Databricks CLI 版本 0.287.0 中添加 |
source_branch |
String | 从中创建此分支的源分支的名称(用于时间点恢复的数据世系)。 如果未指定,则默认为项目的默认分支。 格式:projects/{project_id}/branches/{branch_id}在 Databricks CLI 版本 0.287.0 中添加 |
source_branch_lsn |
String | 从中创建此分支的源分支上的日志序列号(LSN)。 在 Databricks CLI 版本 0.287.0 中添加 |
source_branch_time |
String | 创建此分支的源分支上的时间点。 在 Databricks CLI 版本 0.287.0 中添加 |
ttl |
String | 相对生存时间持续时间。 设置后,分支将在 creation_time + ttl 过期。 在 Databricks CLI 版本 0.287.0 中添加 |
Example
请参阅 postgres_projects示例。
postgres_endpoint
Type: Map
postgres_endpoints资源允许在捆绑包中定义 Lakebase 计算终结点 。 还必须定义相应的 Lakebase 项目 和 Lakebase 分支。
在 Databricks CLI 版本 0.287.0 中添加
postgres_endpoints:
<postgres_endpoint-name>:
<postgres_endpoint-field-name>: <postgres_endpoint-field-value>
| Key | 类型 | Description |
|---|---|---|
autoscaling_limit_max_cu |
编号 | 最大计算单位数。 最小值为 0.5。 在 Databricks CLI 版本 0.287.0 中添加 |
autoscaling_limit_min_cu |
编号 | 最小计算单位数。 最小值为 0.5。 在 Databricks CLI 版本 0.287.0 中添加 |
disabled |
布尔 | 是否限制与计算终结点的连接。 启用此选项将计划暂停计算作。 连接或控制台作无法启用禁用的计算终结点。 在 Databricks CLI 版本 0.287.0 中添加 |
endpoint_id |
String | 要用于终结点的 ID。 这将成为终结点资源名称的最终组件。 ID 是必需的,并且长度必须为 1-63 个字符,以小写字母开头,并且仅包含小写字母、数字和连字符。 例如,primary 将变为 projects/my-app/branches/development/endpoints/primary。在 Databricks CLI 版本 0.287.0 中添加 |
endpoint_type |
String | 终结点类型。 分支只能有一个READ_WRITE终结点。 可能的值: ENDPOINT_TYPE_READ_WRITE、 ENDPOINT_TYPE_READ_ONLY。在 Databricks CLI 版本 0.287.0 中添加 |
no_suspension |
布尔 | 设置为 true 时,显式禁用自动挂起(永不挂起)。 在提供时应设置为 true。 在 Databricks CLI 版本 0.287.0 中添加 |
parent |
String | 将在其中创建此终结点的分支。 格式:projects/{project_id}/branches/{branch_id}在 Databricks CLI 版本 0.287.0 中添加 |
settings |
Map | 计算终结点的设置集合。 在 Databricks CLI 版本 0.287.0 中添加 |
suspend_timeout_duration |
String | 处于非活动状态的持续时间,之后计算终结点会自动挂起。 如果指定应介于 60 到 604800 秒之间(1 分钟到 1 周)。 在 Databricks CLI 版本 0.287.0 中添加 |
Example
请参阅 postgres_projects示例。
postgres_project
Type: Map
Postgres 项目资源允许在捆绑包中定义 Lakebase 自动缩放 Postgres 数据库项目 。 还必须定义相应的 Postgres 分支 和 计算终结点。
在 Databricks CLI 版本 0.287.0 中添加
postgres_projects:
<postgres_project-name>:
<postgres_project-field-name>: <postgres_project-field-value>
| Key | 类型 | Description |
|---|---|---|
default_endpoint_settings |
Map | 计算终结点的设置集合。 请参阅 postgres_project.default_endpoint_settings。 在 Databricks CLI 版本 0.287.0 中添加 |
display_name |
String | 人工可读项目名称。 长度应介于 1 到 256 个字符之间。 在 Databricks CLI 版本 0.287.0 中添加 |
history_retention_duration |
String | 保留此项目所有分支的时间点恢复的共享历史记录的秒数。 值应介于 0 到 2592000s 之间(最多 30 天)。 在 Databricks CLI 版本 0.287.0 中添加 |
pg_version |
Integer | 主要 Postgres 版本号。 支持的版本为 16 和 17。 在 Databricks CLI 版本 0.287.0 中添加 |
project_id |
String | 要用于项目的 ID。 这将成为项目资源名称的最终组件。 ID 是必需的,并且长度必须为 1-63 个字符,以小写字母开头,并且仅包含小写字母、数字和连字符。 例如,my-app 将变为 projects/my-app。在 Databricks CLI 版本 0.287.0 中添加 |
例
resources:
postgres_projects:
my_db:
project_id: test-prod-app
display_name: 'Production Database'
pg_version: 17
postgres_branches:
main:
parent: ${resources.postgres_projects.my_db.id}
branch_id: main
is_protected: false
no_expiry: true
postgres_endpoints:
primary:
parent: ${resources.postgres_branches.main.id}
endpoint_id: primary
endpoint_type: ENDPOINT_TYPE_READ_WRITE
autoscaling_limit_min_cu: 0.5
autoscaling_limit_max_cu: 4
postgres_project.default_endpoint_settings
Type: Map
| Key | 类型 | Description |
|---|---|---|
autoscaling_limit_max_cu |
编号 | 最大计算单位数。 最小值为 0.5。 |
autoscaling_limit_min_cu |
编号 | 最小计算单位数。 最小值为 0.5。 |
no_suspension |
布尔 | 设置为 true 时,显式禁用自动挂起(永不挂起)。 在提供时应设置为 true。 |
pg_settings |
Map | Postgres 设置的原始表示形式。 |
suspend_timeout_duration |
String | 处于非活动状态的持续时间,之后计算终结点会自动挂起。 如果指定应介于 60 到 604800 秒之间(1 分钟到 1 周)。 |
quality_monitor(Unity Catalog)
Type: Map
quality_monitor 资源允许定义 Unity Catalog 表监视器。 有关监视器的信息,请参阅 数据分析。
在 Databricks CLI 版本 0.229.0 中添加
quality_monitors:
<quality_monitor-name>:
<quality_monitor-field-name>: <quality_monitor-field-value>
| Key | 类型 | Description |
|---|---|---|
assets_dir |
String | 用于存储监视资产的目录(例如仪表板、指标表)。 在 Databricks CLI 版本 0.229.0 中添加 |
baseline_table_name |
String | 从中计算偏移指标的基线表的名称。 监视表中的列还应存在于基线表中。 在 Databricks CLI 版本 0.229.0 中添加 |
custom_metrics |
Sequence | 用于在受监视表上进行计算的自定义指标。 这些指标可以是聚合指标、派生指标(从已计算的聚合指标)或偏移指标(跨时间窗口比较指标)。 请参阅 custom_metrics。 在 Databricks CLI 版本 0.229.0 中添加 |
inference_log |
Map | 用于监控推理日志的配置。 请参阅 inference_log。 在 Databricks CLI 版本 0.229.0 中添加 |
latest_monitor_failure_msg |
String | 监视器失败的最新错误消息。 这是在监视器失败时填充的只读字段。 在 Databricks CLI 版本 0.264.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
notifications |
Map | 监视器的通知设置。 请参阅 通知。 在 Databricks CLI 版本 0.229.0 中添加 |
output_schema_name |
String | 用于创建输出指标表的架构。 在 Databricks CLI 版本 0.229.0 中添加 |
schedule |
Map | 自动更新和刷新指标表的计划。 请参阅 计划。 在 Databricks CLI 版本 0.229.0 中添加 |
skip_builtin_dashboard |
布尔 | 是否跳过创建汇总数据质量指标的默认仪表板。 在 Databricks CLI 版本 0.229.0 中添加 |
slicing_exprs |
Sequence | 用于切片数据以进行目标分析的列表达式列表。 数据按每个表达式独立分组,从而为每个谓词及其补码生成单独的切片。 对于高基数列,只有按频率排列的前 100 个唯一值才会生成切片。 在 Databricks CLI 版本 0.229.0 中添加 |
snapshot |
Map | 用于监视快照表的配置。 请参阅 快照。 在 Databricks CLI 版本 0.229.0 中添加 |
table_name |
String | 表的全名。 在 Databricks CLI 版本 0.235.0 中添加 |
time_series |
Map | 用于监视时序表的配置。 请参阅 time_series。 在 Databricks CLI 版本 0.229.0 中添加 |
warehouse_id |
String | 用于为创建仪表板指定仓库的可选参数。 如果未指定,将使用第一个正在运行的仓库。 在 Databricks CLI 版本 0.229.0 中添加 |
quality_monitor.custom_metrics(质量监控.自定义指标)
Type: Sequence
自定义指标定义列表。
列表中的每一项都是一个CustomMetric:
| Key | 类型 | Description |
|---|---|---|
definition |
String | 用于指定如何计算指标的 SQL 表达式的 Jinja 模板。 请参阅 创建指标定义。 |
input_columns |
Sequence | 需计算指标的输入表中的列名列表。 可用于 :table 指示指标需要来自多个列的信息。 |
name |
String | 输出表中指标的名称。 |
output_data_type |
String | 自定义指标的输出类型。 |
type |
String | 只能是CUSTOM_METRIC_TYPE_AGGREGATE, CUSTOM_METRIC_TYPE_DERIVED或CUSTOM_METRIC_TYPE_DRIFT中的一个。
CUSTOM_METRIC_TYPE_AGGREGATE和CUSTOM_METRIC_TYPE_DERIVED指标在单个表上计算,而CUSTOM_METRIC_TYPE_DRIFT用于比较基线表和输入表的指标,或用于比较两个连续时间窗口之间的指标。
|
quality_monitor.推理日志
Type: Map
用于监控推理日志的配置。
| Key | 类型 | Description |
|---|---|---|
granularities |
Sequence | 聚合推理日志时的时间粒度(例如 ["1 day"])。 |
model_id_col |
String | 包含模型 ID 的列的名称。 |
prediction_col |
String | 包含预测的列的名称。 |
timestamp_col |
String | 包含时间戳的列的名称。 |
problem_type |
String | ML 问题的类型。 有效值包括 PROBLEM_TYPE_CLASSIFICATION,PROBLEM_TYPE_REGRESSION. |
label_col |
String | 包含标签的列的名称(基本事实)。 |
prediction_proba_col |
String | 包含预测概率的列的名称。 |
质量监控.通知
Type: Map
监视器的通知设置。
| Key | 类型 | Description |
|---|---|---|
on_failure |
Map | 监视器失败时的通知设置。 请参阅 on_failure。 |
on_new_classification_tag_detected |
Map | 检测到新的分类标记时通知设置。 请参阅 on_new_classification_tag_detected。 |
质量监控.通知.故障时
Type: Map
监视器失败时的通知设置。
| Key | 类型 | Description |
|---|---|---|
email_addresses |
Sequence | 用于监控故障通知的邮件地址列表。 |
质量监控.通知.检测到新分类标签
Type: Map
检测到新的分类标记时通知设置。
| Key | 类型 | Description |
|---|---|---|
email_addresses |
Sequence | 检测到新分类标记时要通知的电子邮件地址列表。 |
质量监控器.时间表
Type: Map
自动更新和刷新指标表的日程安排。
| Key | 类型 | Description |
|---|---|---|
quartz_cron_expression |
String | 使用 Quartz 语法的 Cron 表达式。 例如,0 0 8 * * ? 每天早上8:00运行。 |
timezone_id |
String | 计划的时区(例如 UTC, America/Los_Angeles)。 |
pause_status |
String | 计划是否暂停。 有效值: PAUSED, UNPAUSED。 |
质量监控.快照
Type: Map
用于监视快照表的配置。
quality_monitor.时间序列
用于监视时序表的配置。
| Key | 类型 | Description |
|---|---|---|
granularities |
Sequence | 用于聚合时序数据的时间粒度(例如 ["30 minutes"])。 |
timestamp_col |
String | 包含时间戳的列的名称。 |
Examples
以下示例为 InferenceLog、 TimeSeries 和 快照 配置文件类型定义质量监视器。
# InferenceLog profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
inference_log:
granularities: [1 day]
model_id_col: model_id
prediction_col: prediction
label_col: price
problem_type: PROBLEM_TYPE_REGRESSION
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# TimeSeries profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
time_series:
granularities: [30 minutes]
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
# Snapshot profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
snapshot: {}
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
以下示例基于监视配置质量监视器和相应的模型重新训练作业:
# Quality monitoring workflow
resources:
quality_monitors:
mlops_quality_monitor:
table_name: ${bundle.target}.mlops_demo.predictions
output_schema_name: ${bundle.target}.mlops_demo
assets_dir: /Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
inference_log:
granularities: [1 hour]
model_id_col: model_version
prediction_col: prediction
label_col: fare_amount
problem_type: PROBLEM_TYPE_REGRESSION
timestamp_col: inference_timestamp
schedule:
quartz_cron_expression: 57 0 14 * * ? # refresh monitoring metrics every day at 7 am PT
timezone_id: UTC
jobs:
retraining_job:
name: ${bundle.target}-mlops_demo-monitoring-retraining-job
tasks:
- task_key: monitored_metric_violation_check
notebook_task:
notebook_path: ../monitoring/notebooks/MonitoredMetricViolationCheck.py
base_parameters:
env: ${bundle.target}
table_name_under_monitor: ${bundle.target}.mlops_demo.predictions
metric_to_monitor: r2_score
metric_violation_threshold: 0.7
num_evaluation_windows: 24
num_violation_windows: 5 # 5 out of the past 24 windows have metrics lower than threshold
- task_key: is_metric_violated
depends_on:
- task_key: monitored_metric_violation_check
condition_task:
op: EQUAL_TO
left: '{{tasks.monitored_metric_violation_check.values.is_metric_violated}}'
right: 'true'
- task_key: trigger_retraining
depends_on:
- task_key: is_metric_violated
outcome: 'true'
run_job_task:
job_id: ${resources.jobs.model_training_job.id}
schedule:
quartz_cron_expression: '0 0 15 * * ?' # daily at 8 am PDT
timezone_id: UTC
# To get notifications, provide a list of emails to the on_failure argument.
#
# email_notifications:
# on_failure:
# - someone@example.com
registered_model (Unity 目录)
Type: Map
使用 registered model 资源,可以在 Unity Catalog 中定义模型。 有关 Unity 目录 注册的模型的信息,请参阅 Unity 目录中的管理模型生命周期。
在 Databricks CLI 版本 0.229.0 中添加
registered_models:
<registered_model-name>:
<registered_model-field-name>: <registered_model-field-value>
| Key | 类型 | Description |
|---|---|---|
aliases |
Sequence | 与已注册的模型关联的别名列表。 请参阅 registered_model.aliases。 在 Databricks CLI 版本 0.273.0 中添加 |
browse_only |
布尔 | 指示在请求中启用include_browse时,主体是否仅限于通过 BROWSE 权限检索关联对象的元数据。 在 Databricks CLI 版本 0.273.0 中添加 |
catalog_name |
String | 架构和已注册模型所在的目录的名称。 在 Databricks CLI 版本 0.229.0 中添加 |
comment |
String | 附加到已注册模型的注释。 在 Databricks CLI 版本 0.229.0 中添加 |
created_at |
Integer | 自 Unix 纪元以来注册的模型的创建时间戳(以毫秒为单位)。 在 Databricks CLI 版本 0.273.0 中添加 |
created_by |
String | 创建已注册模型的用户的标识符。 在 Databricks CLI 版本 0.273.0 中添加 |
full_name |
String | 已注册模型的三级(完全限定)名称。 在 Databricks CLI 版本 0.273.0 中添加 |
grants |
Sequence | 与注册模型关联的授予。 请参阅 授予。 在 Databricks CLI 版本 0.229.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
metastore_id |
String | 元存储的唯一标识符。 在 Databricks CLI 版本 0.273.0 中添加 |
name |
String | 已注册模型的名称。 在 Databricks CLI 版本 0.229.0 中添加 |
owner |
String | 拥有已注册模型的用户的标识符。 在 Databricks CLI 版本 0.273.0 中添加 |
schema_name |
String | 已注册模型所在的架构的名称。 在 Databricks CLI 版本 0.229.0 中添加 |
storage_location |
String | 存储模型版本数据文件的云存储位置。 在 Databricks CLI 版本 0.229.0 中添加 |
updated_at |
String | 自 Unix 纪元以来已注册模型的上次更新时间戳(以毫秒为单位)。 在 Databricks CLI 版本 0.273.0 中添加 |
updated_by |
String | 上次更新已注册模型的用户的标识符。 在 Databricks CLI 版本 0.273.0 中添加 |
registered_model.aliases(已注册模型的别名)
Type: Sequence
与已注册的模型关联的别名列表。
列表中的每个项都是一个 Alias:
| Key | 类型 | Description |
|---|---|---|
alias_name |
String | 别名的名称,例如“champion”或“latest_stable” |
catalog_name |
String | 包含模型版本的目录的名称 |
id |
String | 别名的唯一标识符 |
model_name |
String | 模型版本的父注册模型的名称,相对于父架构 |
schema_name |
String | 包含模型版本的架构的名称,相对于父目录 |
version_num |
Integer | 此别名指向的模型版本的整数版本号。 |
Example
以下示例在 Unity Catalog 中定义了注册的模型:
resources:
registered_models:
model:
name: my_model
catalog_name: ${bundle.target}
schema_name: mlops_schema
comment: Registered model in Unity Catalog for ${bundle.target} deployment target
grants:
- privileges:
- EXECUTE
principal: account users
架构 (Unity Catalog)
Type: Map
在 Python 中支持 Databricks 资产捆绑包的模式。 请参阅 databricks.bundles.schemas。
架构资源类型允许您为工作流和管道中的表及其他资产定义 Unity Catalog 架构,这些工作流和管道是作为捆绑包的一部分创建的。 不同于其他资源类型,架构具有以下限制:
- 构架资源的所有者始终是部署用户,不能更改。 如果在捆绑包中指定了
run_as,则架构上的操作将忽略它。 - 只有相应的 Schemas 对象创建 API 所支持的字段可用于该架构资源。 例如,
enable_predictive_optimization不支持,因为它仅在 更新 API 上可用。
在 Databricks CLI 版本 0.229.0 中添加
schemas:
<schema-name>:
<schema-field-name>: <schema-field-value>
| Key | 类型 | Description |
|---|---|---|
catalog_name |
String | 父目录的名称。 在 Databricks CLI 版本 0.229.0 中添加 |
comment |
String | 用户提供的自由格式文本说明。 在 Databricks CLI 版本 0.229.0 中添加 |
grants |
Sequence | 与架构关联的授予。 请参阅 授予。 在 Databricks CLI 版本 0.229.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 相对于父目录的架构名称。 在 Databricks CLI 版本 0.229.0 中添加 |
properties |
Map | 附加到架构的键值属性的映射。 在 Databricks CLI 版本 0.229.0 中添加 |
storage_root |
String | 架构中托管表的存储根 URL。 在 Databricks CLI 版本 0.229.0 中添加 |
Examples
以下示例定义了一个使用资源键 my_pipeline 的管道,该管道会创建一个以键 my_schema 为目标的 Unity Catalog 架构:
resources:
pipelines:
my_pipeline:
name: test-pipeline-{{.unique_id}}
libraries:
- notebook:
path: ../src/nb.ipynb
- file:
path: ../src/range.sql
development: true
catalog: ${resources.schemas.my_schema.catalog_name}
target: ${resources.schemas.my_schema.id}
schemas:
my_schema:
name: test-schema-{{.unique_id}}
catalog_name: main
comment: This schema was created by Databricks Asset Bundles.
Databricks 资产捆绑包不支持顶级授权映射,因此如果想为架构设置授权,请在 schemas 映射中定义架构的授权。 有关授予的详细信息,请参阅 “显示”、“授予”和“撤销权限”。
以下示例定义了一个附带权限的 Unity Catalog 架构模式:
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main
秘密范围
Type: Map
secret_scope资源允许在捆绑包中定义 机密范围 。 有关机密范围的信息,请参阅 机密管理。
在 Databricks CLI 版本 0.252.0 中添加
secret_scopes:
<secret_scope-name>:
<secret_scope-field-name>: <secret_scope-field-value>
| Key | 类型 | Description |
|---|---|---|
backend_type |
String | 创建该作用域时将使用的后端类型。 如果未指定,则默认为 DATABRICKS.在 Databricks CLI 版本 0.252.0 中添加 |
keyvault_metadata |
Map | 机密范围的元数据(如果 backend_type 为 AZURE_KEYVAULT)。 请参阅 keyvault_metadata。在 Databricks CLI 版本 0.252.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 用户请求的范围名称。 范围名称是唯一的。 在 Databricks CLI 版本 0.252.0 中添加 |
permissions |
Sequence | 应适用于密钥范围的权限。 权限通过机密范围 ACL 进行管理。 查看 权限。 在 Databricks CLI 版本 0.252.0 中添加 |
secret_scope.keyvault_metadata
Type: Map
由 Azure Key Vault 支持的秘密范围的元数据。
| Key | 类型 | Description |
|---|---|---|
resource_id |
String | Key Vault 的 Azure 资源 ID。 |
dns_name |
String | Azure Key Vault 的 DNS 名称。 |
Examples
以下示例定义使用密钥保管库后端的机密范围:
resources:
secret_scopes:
secret_scope_azure:
name: test-secrets-azure-backend
backend_type: 'AZURE_KEYVAULT'
keyvault_metadata:
resource_id: my_azure_keyvault_id
dns_name: my_azure_keyvault_dns_name
以下示例使用机密范围和权限设置自定义 ACL:
resources:
secret_scopes:
my_secret_scope:
name: my_secret_scope
permissions:
- user_name: admins
level: WRITE
- user_name: users
level: READ
有关演示如何在捆绑包中定义机密范围和包含从中读取任务的作业的示例捆绑包,请参阅捆绑包示例 GitHub 存储库。
SQL 数据仓库
Type: Map
SQL 仓库资源允许在捆绑包中定义 SQL 仓库 。 有关 SQL 仓库的信息,请参阅 Azure Databricks 上的数据仓库。
在 Databricks CLI 版本 0.260.0 中添加
sql_warehouses:
<sql-warehouse-name>:
<sql-warehouse-field-name>: <sql-warehouse-field-value>
| Key | 类型 | Description |
|---|---|---|
auto_stop_mins |
Integer | SQL 仓库在被自动停止之前,必须处于空闲状态的时间量(例如,没有 RUNNING 查询)。 有效值为 0,表示不自动停止或大于或等于 10。 默认值为 120。 在 Databricks CLI 版本 0.260.0 中添加 |
channel |
Map | 通道详细信息。 请参阅 频道。 在 Databricks CLI 版本 0.260.0 中添加 |
cluster_size |
String | 为此仓库分配的群集的大小。 增加 Spark 群集的大小可让你对它运行更大的查询。 如果要增加并发查询数,请优化max_num_clusters。 有关支持的值,请参阅 cluster_size。 在 Databricks CLI 版本 0.260.0 中添加 |
creator_name |
String | 创建仓库的用户的名称。 在 Databricks CLI 版本 0.260.0 中添加 |
enable_photon |
布尔 | 仓库是否应使用 Photon 优化群集。 默认值为 false。 在 Databricks CLI 版本 0.260.0 中添加 |
enable_serverless_compute |
布尔 | 仓库是否应使用无服务器计算。 在 Databricks CLI 版本 0.260.0 中添加 |
instance_profile_arn |
String | Deprecated. 用于将 IAM 角色传递给群集的实例配置文件。 在 Databricks CLI 版本 0.260.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
max_num_clusters |
Integer | 自动缩放程序创建的最大群集数,用于处理并发查询。 值必须小于或等于 30 且大于或等于 min_num_clusters。 如果未设置,则默认为min_clusters。在 Databricks CLI 版本 0.260.0 中添加 |
min_num_clusters |
Integer | 将为此 SQL 仓库维护的可用群集的最小数量。 增加这可确保越来越多的群集始终运行,因此可能会减少新查询的冷启动时间。 这类似于资源管理器中保留核心与可吊销核心的比较。 值必须大于 0 且小于或等于 min(max_num_clusters,30)。 默认值为 1。 在 Databricks CLI 版本 0.260.0 中添加 |
name |
String | 群集的逻辑名称。 该名称在组织内必须唯一且少于 100 个字符。 在 Databricks CLI 版本 0.260.0 中添加 |
permissions |
Sequence | 要应用于仓库的权限。 查看 权限。 在 Databricks CLI 版本 0.260.0 中添加 |
spot_instance_policy |
String | 是否使用现成实例。 有效值为 POLICY_UNSPECIFIED, COST_OPTIMIZEDRELIABILITY_OPTIMIZED。 默认值为 COST_OPTIMIZED。在 Databricks CLI 版本 0.260.0 中添加 |
tags |
Map | 将在与此 SQL 仓库关联的所有资源(例如 AWS 实例和 EBS 卷)上打上标签的一系列键值对。 标记数必须小于 45。 在 Databricks CLI 版本 0.260.0 中添加 |
warehouse_type |
String | 仓库类型,PRO 或 CLASSIC。 如果要使用无服务器计算,请将此字段设置为 PRO ,并将该字段 enable_serverless_compute 设置为 true。在 Databricks CLI 版本 0.260.0 中添加 |
sql_warehouse.channel
Type: Map
SQL 仓库的通道配置。
| Key | 类型 | Description |
|---|---|---|
name |
String | 通道的名称。 有效值包括 CHANNEL_NAME_CURRENT, CHANNEL_NAME_PREVIEW。 CHANNEL_NAME_CUSTOM |
dbsql_version |
String | 自定义通道的 DBSQL 版本。 |
Example
以下示例定义 SQL 仓库:
resources:
sql_warehouses:
my_sql_warehouse:
name: my_sql_warehouse
cluster_size: X-Large
enable_serverless_compute: true
max_num_clusters: 3
min_num_clusters: 1
auto_stop_mins: 60
warehouse_type: PRO
同步的数据库表
Type: Map
通过同步的数据库表资源,可以在捆绑包中定义 Lakebase 数据库表 。
有关同步的数据库表的信息,请参阅什么是数据库实例?
在 Databricks CLI 版本 0.266.0 中添加
synced_database_tables:
<synced_database_table-name>:
<synced_database_table-field-name>: <synced_database_table-field-value>
| Key | 类型 | Description |
|---|---|---|
database_instance_name |
String | 目标数据库实例的名称。 在标准目录中创建同步的数据库表时,这是必需的。 在已注册的目录中创建同步的数据库表时,这是可选的。 在 Databricks CLI 版本 0.266.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
logical_database_name |
String | 此表的目标 Postgres 数据库对象(逻辑数据库)的名称。 在 Databricks CLI 版本 0.266.0 中添加 |
name |
String | 表格的全名,格式 catalog.schema.table为 .在 Databricks CLI 版本 0.266.0 中添加 |
spec |
Map | 数据库表规范。 请参阅 同步的数据库表规范。 在 Databricks CLI 版本 0.266.0 中添加 |
synced_database_table.spec
Type: Map
数据库表规范。
在 Databricks CLI 版本 0.266.0 中添加
| Key | 类型 | Description |
|---|---|---|
create_database_objects_if_missing |
布尔 | 如果同步表的逻辑数据库和架构资源尚不存在,则是否创建它们。 |
existing_pipeline_id |
String | 现有管道的 ID。 如果已设置,则同步表将打包到引用的现有管道中。 这可以避免创建新的管道并允许共享现有计算。 在这种情况下,该同步表的 scheduling_policy 必须与现有管道的调度策略相匹配。 最多只能定义 existing_pipeline_id 和 new_pipeline_spec 中的一个。 |
new_pipeline_spec |
Map | 新管道的技术规范。 请参阅 new_pipeline_spec。 最多只能定义 existing_pipeline_id 和 new_pipeline_spec 中的一个。 |
primary_key_columns |
Sequence | 构成主键的列名列表。 |
scheduling_policy |
String | 用于同步的调度策略。 有效值包括 SNAPSHOT,CONTINUOUS. |
source_table_full_name |
String | 源表的全名格式为catalog.schema.table。 |
timeseries_key |
String | 用于取消重复具有相同主键的行的时序键。 |
synced_database_table.spec.new_pipeline_spec
Type: Map
同步数据库表使用的新管道的规范。
| Key | 类型 | Description |
|---|---|---|
budget_policy_id |
String | 要在新创建的管道上设置的预算策略的 ID。 |
storage_catalog |
String | 用于存储中间文件的管道的目录,例如检查点和事件日志。 这必须是用户有权创建 Delta 表的标准目录。 |
storage_schema |
String | 用于存储中间文件的管道的架构,例如检查点和事件日志。 这需要在用户有权创建 Delta 表的标准目录中。 |
Examples
以下示例在相应的 数据库目录中定义同步的数据库表:
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: my-instance
database_name: 'my_database'
name: my_catalog
create_database_if_not_exists: true
synced_database_tables:
my_synced_table:
name: ${resources.database_catalogs.my_catalog.name}.${resources.database_catalogs.my_catalog.database_name}.my_destination_table
database_instance_name: ${resources.database_catalogs.my_catalog.database_instance_name}
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'my_source_table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'
以下示例定义标准目录中的同步数据库表:
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.public.synced_table'
# database_instance_name is required for synced tables created in standard catalogs.
database_instance_name: 'my-database-instance'
# logical_database_name is required for synced tables created in standard catalogs:
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'source_catalog.schema.table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'
此示例创建一个同步的数据库表并为其自定义管道计划。 它假定你已拥有:
- 名为
my-database-instance的数据库实例 - 名为
my_standard_catalog的标准目录 - 名为
default的标准目录中的模式 - 以
source_delta.schema.customer为主键,命名为c_custkey的源增量表
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.default.my_synced_table'
database_instance_name: 'my-database-instance'
logical_database_name: 'test_db'
spec:
source_table_full_name: 'source_delta.schema.customer'
scheduling_policy: SNAPSHOT
primary_key_columns:
- c_custkey
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'source_delta'
storage_schema: 'schema'
jobs:
sync_pipeline_schedule_job:
name: sync_pipeline_schedule_job
description: 'Job to schedule synced database table pipeline.'
tasks:
- task_key: synced-table-pipeline
pipeline_task:
pipeline_id: ${resources.synced_database_tables.my_synced_table.data_synchronization_status.pipeline_id}
schedule:
quartz_cron_expression: '0 0 0 * * ?'
卷 (Unity Catalog)
Type: Map
Databricks 资产捆绑包中支持使用 Python 的卷功能。 请参阅 databricks.bundles.volumes。
使用 volume 资源类型,可以将 Unity Catalog 卷作为捆绑包的一部分进行定义和创建。 在部署定义了卷的捆绑包时,请注意:
- 在工作区中存在卷之后,才能在捆绑包的
artifact_path中引用卷。 因此,如果要使用 Databricks 资产捆绑包创建卷,必须先在捆绑包中定义卷,对其进行部署以创建卷,然后在后续部署中在artifact_path中引用该卷。 - 部署目标配置了
dev_${workspace.current_user.short_name}后,捆绑包中的卷不会追加mode: development前缀。 但是,可以手动配置此前缀。 请参阅 自定义预设。
在 Databricks CLI 版本 0.236.0 中添加
volumes:
<volume-name>:
<volume-field-name>: <volume-field-value>
| Key | 类型 | Description |
|---|---|---|
catalog_name |
String | 架构和卷的目录的名称。 在 Databricks CLI 版本 0.236.0 中添加 |
comment |
String | 附加到卷的注释。 在 Databricks CLI 版本 0.236.0 中添加 |
grants |
Sequence | 与卷关联的授予。 请参阅 授予。 在 Databricks CLI 版本 0.236.0 中添加 |
lifecycle |
Map | 包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。 请参阅 生命周期。 在 Databricks CLI 版本 0.268.0 中添加 |
name |
String | 卷的名称。 在 Databricks CLI 版本 0.236.0 中添加 |
schema_name |
String | 卷所在的架构的名称。 在 Databricks CLI 版本 0.236.0 中添加 |
storage_location |
String | 云上的存储位置。 在 Databricks CLI 版本 0.236.0 中添加 |
volume_type |
String | 卷类型,EXTERNAL 或 MANAGED。 外部卷位于指定的外部位置。 托管卷位于由父架构、父目录或元存储指定的默认位置。 请参阅 托管卷与外部卷。 |
Example
以下示例创建了具有键 my_volume_id 的 Unity Catalog 卷:
resources:
volumes:
my_volume_id:
catalog_name: main
name: my_volume
schema_name: my_schema
有关运行在 Unity Catalog 卷中写入文件的作业的示例捆绑包,请参阅捆绑包示例 GitHub 存储库。
常见对象
授予
Type: Map
定义要授予该主体的主体和特权。 有关授予的详细信息,请参阅 “显示”、“授予”和“撤销权限”。
在 Databricks CLI 版本 0.229.0 中添加
| Key | 类型 | Description |
|---|---|---|
principal |
String | 将被授予特权的主体的名称。 可以是用户、组或服务主体。 |
privileges |
Sequence | 给指定实体授予的权限。 有效值取决于资源类型(例如,SELECT、、MODIFY、CREATE、USAGE、READ_FILESWRITE_FILES、、EXECUTE、 )。 ALL_PRIVILEGES |
Example
以下示例定义了一个附带权限的 Unity Catalog 架构模式:
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main
生命周期
Type: Map
包含资源的生命周期设置。 它在部署或销毁资源时控制资源的行为。
在 Databricks CLI 版本 0.268.0 中添加
| Key | 类型 | Description |
|---|---|---|
prevent_destroy |
布尔 | 用于防止资源被销毁的生命周期设置。 在 Databricks CLI 版本 0.268.0 中添加 |