使用增强型自动缩放来优化增量实时表管道的群集利用率

Databricks 增强型自动缩放可以根据工作负载量自动分配群集资源,从而优化群集利用率,并尽量减轻对管道数据处理延迟的影响。

增强型自动缩放改进了 Azure Databricks 群集自动缩放功能,具有以下特点:

  • 增强型自动缩放实现流式处理工作负载的优化,并添加了增强功能来提高批处理工作负载的性能。 增强型自动缩放通过在工作负荷变化时添加或删除计算机来优化成本。
  • 增强型自动缩放主动关闭未充分利用的节点,同时保证在关闭期间不会有任务失败。 仅当节点处于空闲状态时,现有群集自动缩放功能才会纵向缩减节点。

在 Delta Live Tables UI 中创建新管道时,增强型自动缩放是默认的自动缩放模式。 可以通过在 UI 中编辑管道设置来为现有管道启用增强型自动缩放。 还可以在使用 Delta Live Tables API 创建或编辑管道时启用增强型自动缩放。

启用增强型自动缩放

注意

由于计算资源会自动针对无服务器管道进行优化,因此为管道选择“无服务器”(公共预览版)时,Databricks 增强型自动缩放的设置不可用。

要了解如何启用无服务器 DLT 管道,请联系 Azure Databricks 帐户团队。

若要使用增强型自动缩放,请执行下列操作之一:

  • 在 Delta Live Tables UI 中创建管道或编辑管道时,将“群集模式”设置为“增强型自动缩放”。
  • autoscale 设置添加到管道群集配置,并将 mode 字段设置为 ENHANCED。 请参阅配置计算设置

为生产管道配置增强型自动缩放时,请遵循以下准则:

  • Min workers 设置保留为默认值。
  • Max workers 设置为基于预算和管道优先级的值。

以下示例配置一个增强型自动缩放群集,其中最少包含 5 个工作器,最多包含 10 个工作器。 max_workers 必须大于或等于 min_workers

注意

  • 增强型自动缩放仅适用于 updates 群集。 现有的自动缩放功能用于 maintenance 群集。
  • autoscale 配置有两种模式:
{
  "clusters": [
    {
      "autoscale": {
        "min_workers": 5,
        "max_workers": 10,
        "mode": "ENHANCED"
      }
    }
  ]
}

如果管道配置为适合连续执行,则在自动缩放配置更改后,管道将自动重启。 重启后,预期有短暂的一段时间延迟会提高。 经过短暂的延迟提高之后,群集大小将根据 autoscale 配置更新,管道延迟将恢复为之前的延迟特性。

监视已启用增强型自动缩放的管道

可以使用 Delta Live Tables 用户界面中的事件日志来监视增强型自动缩放指标。 增强型自动缩放事件的事件类型为 autoscale。 下面是示例事件:

事件 消息
已提出群集调整大小请求 Scaling [up or down] to <y> executors from current cluster size of <x>
群集调整大小请求已成功 Achieved cluster size <x> for cluster <cluster-id> with status SUCCEEDED
群集调整大小请求已部分成功 Achieved cluster size <x> for cluster <cluster-id> with status PARTIALLY_SUCCEEDED
群集调整大小请求失败 Achieved cluster size <x> for cluster <cluster-id> with status FAILED

还可以通过直接查询事件日志来查看增强型自动缩放事件: