通过


Databricks 资产捆绑包资源

使用 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
  • 对于用户标识:将user_name设置为活动工作区用户的电子邮件。 用户只能将其设置为自己的电子邮件。
  • 对于服务主帐户:将 service_principal_name 设为应用程序 ID。 需要拥有 servicePrincipal 或 user 角色。 如果未指定,警报将作为请求用户运行。

在 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 可选。 此计划是否处于暂停状态。 有效值: UNPAUSEDPAUSED。 默认值: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 应用的计算大小。 有效值为 MEDIUMLARGE 依赖于工作区配置。
在 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 指定应用环境变量的列表 namevalue 对。

应用程序.资源

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_READCAN_EDITCAN_MANAGE

app.resources.genie_space

Type: Map

标识要使用的 Genie 空间的设置。

Key 类型 Description
name String Genie 空间的名称。
permission String 空间的权限级别。 有效值包括CAN_VIEW,,CAN_EDITCAN_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_RUNCAN_MANAGEIS_OWNER

应用程序.资源.机密

Type: Map

标识要使用的 Azure Databricks 机密资源的设置。

Key 类型 Description
key String 用于授予权限的密钥。
permission String 机密的权限级别。 有效值包括 READWRITEMANAGE
scope String 机密范围的名称。

app.resources.服务端点

Type: Map

标识要使用的终结点资源的模型的设置。

Key 类型 Description
name String 服务终结点的名称。
permission String 服务终结点的权限级别。 有效值包括 CAN_QUERYCAN_MANAGECAN_VIEW

app.resources.sql仓库

Type: Map

标识要使用的 SQL 仓库的设置。

Key 类型 Description
id String SQL 仓库的 ID。
permission String SQL 仓库的权限级别。 有效值包括 CAN_USECAN_MANAGEIS_OWNER

app.resources.uc_securable

Type: Map

标识要使用的 Unity 目录卷的设置。

Key 类型 Description
permission String Unity 目录安全对象的权限级别。 有效值为 READ_VOLUMEWRITE_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 从群集访问数据时要使用的数据治理模型。 有效值包括NONESINGLE_USER、、USER_ISOLATIONLEGACY_SINGLE_USERLEGACY_TABLE_ACLLEGACY_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_idnode_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_tagsspark_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 确定群集的运行时引擎是 STANDARDPHOTON
在 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.extraJavaOptionsspark.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_versionspark_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 节点之后的所有节点的可用性类型。 有效值为 SPOTON_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_SSDTHROUGHPUT_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_AZUREON_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_GCPON_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_S3SSE_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_4CU_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 此作业的可选连续属性。 连续属性将确保始终有一个运行在执行。 schedulecontinuous 中只能使用一个。 请参阅 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_notificationswebhook_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_nameservice_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 是否暂停连续作业。 有效值: PAUSEDUNPAUSED
task_retry_mode String 说明持续作业如何应用任务级别重试。 有效值为 NEVERON_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_BYTESSTREAMING_BACKLOG_RECORDSSTREAMING_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_taggit_commit 同时指定。
git_commit String 要签出和使用此作业的提交。 此字段不能与 git_branchgit_tag 同时指定。
git_provider String 用于托管 Git 存储库的服务的唯一标识符。 该值不区分大小写。 有效值为 gitHub:、bitbucketCloud、、gitLabazureDevOpsServicesgitHubEnterprisebitbucketServer. gitLabEnterpriseEdition
git_snapshot Map 运行作业时远程存储库的只读状态。 此字段仅在作业执行时包含。 请参阅 git_snapshot
git_tag String 要签出和使用此作业的标记的名称。 此字段不能与 git_branchgit_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 作业健康规则列表。 每个规则都包含一个 metricop (运算符) 和 value。 请参阅 job.health.rules

作业健康规则

Type: Sequence

作业健康规则列表。

列表中的每一项都是一个JobHealthRule:

Key 类型 Description
metric String 指定正在针对特定健康规则进行评估的健康指标。
  • RUN_DURATION_SECONDS:运行所需的总时间(以秒为单位)。
  • STREAMING_BACKLOG_BYTES:估计所有流中等待使用的数据的最大字节数。 此度量处于公共预览阶段。
  • STREAMING_BACKLOG_RECORDS:估计所有流之间的最大偏移滞后时间。 此度量处于公共预览阶段。
  • STREAMING_BACKLOG_SECONDS:估计所有流的最大使用者延迟。 此度量处于公共预览阶段。
  • STREAMING_BACKLOG_FILES:估计所有流中未处理文件的最大数目。 此度量处于公共预览阶段。
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_AngelesUTC
pause_status String 计划是否暂停。 有效值: PAUSEDUNPAUSED

作业.触发器

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、、MINUTESHOURSDAYSWEEKS

作业.网络钩子通知

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_BYTESSTREAMING_BACKLOG_RECORDSSTREAMING_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_nameentity_versionworkload_sizescale_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_nametraffic_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 托管引入管道的配置。 这些设置不能与librariesschematargetcatalog设置一起使用。 请参阅 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_nameservice_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 要将此管道中的表添加到的目标架构(数据库)。 必须指定 schematarget 中的一个。 若要发布到 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

托管引入管道的配置。 这些设置不能与librariesschematargetcatalog设置一起使用。

Key 类型 Description
connection_name String 要用于引入的连接的名称。
ingestion_gateway_id String 引入网关的 ID。
objects Sequence 必填。 指定要复制的表和复制表的目标的设置。 每个对象可以是 SchemaSpecTableSpecReportSpec
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 用于包含源代码的统一字段。 每个条目可以是笔记本路径、文件路径或结束 /**的文件夹路径。 此字段不能与 notebookfile 一起使用。 请参阅 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

用于包含源代码的统一字段。 每个条目可以是笔记本路径、文件路径或结束 /**的文件夹路径。 此字段不能与 notebookfile 一起使用。

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-failureon-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_WRITEENDPOINT_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_DERIVEDCUSTOM_METRIC_TYPE_DRIFT中的一个。 CUSTOM_METRIC_TYPE_AGGREGATECUSTOM_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_CLASSIFICATIONPROBLEM_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 计划的时区(例如 UTCAmerica/Los_Angeles)。
pause_status String 计划是否暂停。 有效值: PAUSEDUNPAUSED

质量监控.快照

Type: Map

用于监视快照表的配置。

quality_monitor.时间序列

用于监视时序表的配置。

Key 类型 Description
granularities Sequence 用于聚合时序数据的时间粒度(例如 ["30 minutes"])。
timestamp_col String 包含时间戳的列的名称。

Examples

以下示例为 InferenceLogTimeSeries快照 配置文件类型定义质量监视器。

# 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_typeAZURE_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_UNSPECIFIEDCOST_OPTIMIZEDRELIABILITY_OPTIMIZED。 默认值为 COST_OPTIMIZED
在 Databricks CLI 版本 0.260.0 中添加
tags Map 将在与此 SQL 仓库关联的所有资源(例如 AWS 实例和 EBS 卷)上打上标签的一系列键值对。 标记数必须小于 45。
在 Databricks CLI 版本 0.260.0 中添加
warehouse_type String 仓库类型,PROCLASSIC。 如果要使用无服务器计算,请将此字段设置为 PRO ,并将该字段 enable_serverless_compute 设置为 true
在 Databricks CLI 版本 0.260.0 中添加

sql_warehouse.channel

Type: Map

SQL 仓库的通道配置。

Key 类型 Description
name String 通道的名称。 有效值包括 CHANNEL_NAME_CURRENTCHANNEL_NAME_PREVIEWCHANNEL_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_idnew_pipeline_spec 中的一个。
new_pipeline_spec Map 新管道的技术规范。 请参阅 new_pipeline_spec。 最多只能定义 existing_pipeline_idnew_pipeline_spec 中的一个。
primary_key_columns Sequence 构成主键的列名列表。
scheduling_policy String 用于同步的调度策略。 有效值包括 SNAPSHOTCONTINUOUS.
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 卷类型,EXTERNALMANAGED。 外部卷位于指定的外部位置。 托管卷位于由父架构、父目录或元存储指定的默认位置。 请参阅 托管卷与外部卷

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、、MODIFYCREATEUSAGEREAD_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 中添加