为管道配置经典计算

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

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

注释

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

为管道选择计算资源

若要从 Lakeflow 管道编辑器为管道配置经典计算,请执行以下步骤:

  1. 单击“设置”。
  2. 在管道设置的 “计算 ”部分中,单击 “铅笔”图标。 编辑。
  3. 如果选中它,请取消选中 无服务器
  4. 对计算设置进行任何其他更改,然后单击“ 保存”。

这会配置管道以使用经典计算,并允许编辑计算设置,如下所示。

有关 Lakeflow 管道编辑器的详细信息,请参阅 使用 Lakeflow 管道编辑器开发和调试 ETL 管道

选择计算策略

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

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

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

配置计算标记

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

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

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

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

  1. 单击“设置”按钮。
  2. 在管道设置的“计算”部分中,单击铅笔图标。
  3. “高级设置”部分中,选择管道的工作者类型驱动类型实例类型。

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

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

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

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

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

注释

每日维护群集仅在某些情况下使用:

  • 存储在 Hive 元存储中的管道。
  • 未接受无服务器计算服务条款的工作区中的管道。 如果需要接受条款的帮助,请联系 Databricks 代表。

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

以下示例定义一个 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 Spark 声明性管道计算资源在不使用时自动关闭,因此无法使用设置 autotermination_minutes的计算策略。 这会导致错误。

创建单个节点计算

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

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

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