共用方式為

为 Lakeflow 声明性管道配置经典计算

本页包含有关为 Lakeflow 声明性管道配置经典计算的说明。 有关 JSON 架构的参考,请参阅clusters管道 API 参考中的定义。

若要创建在经典计算上运行的管道,用户必须先具有部署经典计算的权限,即不受限制的创建权限或对计算策略的访问权限。 默认情况下,所有工作区用户都可以使用无服务器管道。

注释

由于 Lakeflow 声明性 Pipelines 运行时管理管道计算的生命周期并运行 Databricks Runtime 的自定义版本,因此无法在管道配置(如 Spark 版本或群集名称)中手动设置某些计算设置。 请参阅不可由用户设置的群集属性

选择计算策略

工作区管理员可以配置计算策略,为用户提供对 Lakeflow 声明性管道经典计算资源的访问权限。 计算策略是可选的。 如果缺少 Lakeflow 声明性管道所需的计算权限,请与工作区管理员联系。请参阅 定义 Lakeflow 声明性管道计算的限制

使用管道 API 时,若要确保正确应用计算策略默认值, "apply_policy_default_values": true 请设置在 clusters 定义中:

{
  "clusters": [
    {
      "label": "default",
      "policy_id": "<policy-id>",
      "apply_policy_default_values": true
    }
  ]
}

配置计算标记

可以将自定义标记添加到管道的经典计算资源。 使用标记可以监视组织中各种组使用的计算资源成本。 Databricks 将这些标记应用于云资源。 可以使用 群集标记 UI 设置或通过编辑管道的 JSON 配置来添加标记。

选择要运行管道的实例类型

默认情况下,Lakeflow 声明性管道为管道的驱动程序和工作器节点选择实例类型。 可以选择配置实例类型。 例如,选择实例类型以提高管道性能,或者在运行管道时解决内存问题。

若要在 Lakeflow 声明性管道 UI 中创建或编辑管道时配置实例类型:

  1. 单击“设置”按钮。

  2. 在管道设置的“高级”部分中,在“辅助角色类型”和“驱动程序类型”下拉菜单中,选择管道的实例类型。

为更新和维护群集配置单独的设置

每个声明性管道都有两个关联的计算资源:一个用于处理管道更新的更新群集和运行日常维护任务的维护群集。 默认情况下,计算配置适用于这两个群集。 使用这两个群集的相同设置可确保将存储位置的数据访问凭据等所需配置应用到维护群集,从而提高维护运行的可靠性。

若要仅将设置应用于两个群集之一,请将 label 字段添加到设置 JSON 对象。 该字段有三个可能的值 label

  • maintenance:仅将设置应用于维护群集。
  • updates:仅将设置应用于更新群集。
  • default:将设置应用于更新和维护群集。 如果省略 label 字段,则为默认值。

如果存在冲突的设置,则带有 updatesmaintenance 标签的设置将覆盖使用 default 标签定义的设置。

示例:定义更新群集的设置

以下示例定义一个 Spark 配置参数,该参数仅添加到 updates 群集的配置中:

{
  "clusters": [
    {
      "label": "default",
      "autoscale": {
        "min_workers": 1,
        "max_workers": 5,
        "mode": "ENHANCED"
      }
    },
    {
      "label": "updates",
      "spark_conf": {
        "key": "value"
      }
    }
  ]
}

示例:为更新群集配置实例类型

为了避免向 maintenance 群集分配不必要的资源,此示例使用 updates 标签来仅设置 updates 群集的实例类型。

{
  "clusters": [
    {
      "label": "updates",
      "node_type_id": "Standard_D12_v2",
      "driver_node_type_id": "Standard_D3_v2",
      "...": "..."
    }
  ]
}

延迟计算关闭

要控制群集关闭行为,可以使用开发或生产模式,也可以使用管道配置中的 pipelines.clusterShutdown.delay 设置。 以下示例将 pipelines.clusterShutdown.delay 值设置为 60 秒:

{
  "configuration": {
    "pipelines.clusterShutdown.delay": "60s"
  }
}

如果启用 production 模式,pipelines.clusterShutdown.delay 的默认值为 0 seconds。 如果启用 development 模式,默认值为 2 hours

注释

由于 Lakeflow 声明性管道计算资源在不使用时自动关闭,因此无法使用设置 autotermination_minutes的计算策略。 这会导致错误。

创建单个节点计算

单个节点计算具有充当主节点和辅助角色的驱动程序节点。 这适用于使用少量数据或未分发的工作负荷。

若要创建单节点计算,请设置为 num_workers 0。 例如:

{
  "clusters": [
    {
      "num_workers": 0
    }
  ]
}