使用增强型自动缩放来优化增量实时表管道的群集利用率
本文介绍如何使用增强型自动缩放来优化 Azure Databricks 上的增量实时表管道。
默认情况下,为所有新管道启用增强型自动缩放。
对于无服务器管道,增强的自动缩放始终处于打开状态,无法禁用。 请参阅配置无服务器增量实时表管道。
什么是增强型自动缩放?
Databricks 增强型自动缩放可以根据工作负载量自动分配群集资源,从而优化群集利用率,并尽量减轻对管道数据处理延迟的影响。
增强型自动缩放改进了 Azure Databricks 群集自动缩放功能,具有以下特点:
- 增强型自动缩放实现流式处理工作负载的优化,并添加了增强功能来提高批处理工作负载的性能。 增强型自动缩放通过在工作负荷变化时添加或删除计算机来优化成本。
- 增强型自动缩放主动关闭未充分利用的节点,同时保证在关闭期间不会有任务失败。 仅当节点处于空闲状态时,现有群集自动缩放功能才会纵向缩减节点。
在增量实时表 UI 中创建新管道时,增强型自动缩放是默认的自动缩放模式。 可以通过在 UI 中编辑管道设置来为现有管道启用增强型自动缩放。 还可以在使用增量实时表 API 创建或编辑管道时启用增强型自动缩放。
增强型自动缩放使用哪些指标来做出纵向扩展或纵向缩减的决定?
增强型自动缩放使用两个指标来决定纵向扩展或纵向缩减:
- 任务槽利用率:这是繁忙任务槽数与群集中可用的总任务槽数的平均比率。
- 任务队列大小:这是任务槽中等待执行的任务数。
为增量实时表管道启用增强型自动缩放
在增量实时表 UI 中创建新管道时,增强型自动缩放是默认的自动缩放模式。 可以通过在 UI 中编辑管道设置来为现有管道启用增强型自动缩放。 还可以在使用增量实时表 API 创建或编辑管道时启用增强型自动缩放。
若要使用增强型自动缩放,请执行下列操作之一:
- 在增量实时表 UI 中创建管道或编辑管道时,将“群集模式”设置为“增强型自动缩放”。
- 将
autoscale
设置添加到管道群集配置,并将mode
字段设置为ENHANCED
。 请参阅配置增量实时表管道的计算。
为生产管道配置增强型自动缩放时,请遵循以下准则:
- 将
Min workers
设置保留为默认值。 - 将
Max workers
设置为基于预算和管道优先级的值。
以下示例配置一个增强型自动缩放群集,其中最少包含 5 个工作器,最多包含 10 个工作器。 max_workers
必须大于或等于 min_workers
。
注意
- 增强型自动缩放仅适用于
updates
群集。 旧版自动缩放用于maintenance
群集。 autoscale
配置有两种模式:LEGACY
:使用群集自动缩放。ENHANCED
:使用增强型自动缩放。
{
"clusters": [
{
"autoscale": {
"min_workers": 5,
"max_workers": 10,
"mode": "ENHANCED"
}
}
]
}
如果管道配置为适合连续执行,则在自动缩放配置更改后,管道将自动重启。 重启后,预期有短暂的一段时间延迟会提高。 经过短暂的延迟提高之后,群集大小将根据 autoscale
配置更新,管道延迟应恢复为之前的延迟特性。
限制使用增强型自动缩放的管道的成本
注意
不能为无服务器管道配置辅助角色。
在管道计算窗格中设置最大辅助角色数参数将设置自动缩放的上限。 减少可用辅助角色的数量可能会增加某些工作负载的延迟,但可以防止计算资源成本在计算密集型操作期间突然爆发。
Databricks 建议优化最大辅助角色数设置,以平衡特定需求的成本延迟权衡。
监视启用了增强型自动缩放的经典管道
可以使用增量实时表用户界面中的事件日志来监视经典管道的增强型自动缩放指标。 增强型自动缩放事件的事件类型为 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 |
还可以通过直接查询事件日志来查看增强型自动缩放事件:
- 若要查询事件日志中的积压工作 (backlog) 指标,请参阅通过查询事件日志监视数据积压工作 (backlog)。
- 要在增强型自动缩放操作期间监控群集大小调整请求和响应,请参阅监视未启用无服务器功能的管道事件日志中的增强型自动缩放事件。