为增量实时表管道配置计算
本文包含为 Delta Live Tables 管道配置自定义计算设置时的说明和注意事项。
无服务器管道不提供计算配置选项。 请参阅 配置无服务器增量实时表管道。
选择群集策略
用户必须有权部署计算才能配置和更新增量实时表管道。 工作区管理员可以配置群集策略,以便为用户提供对增量实时表计算资源的访问权限。 请参阅定义 Delta Live Tables 管道计算的限制。
注意
群集策略是可选的。 如果缺少 Delta Live Tables 所需的计算权限,请与工作区管理员联系。
若要确保正确应用群集策略默认值,请在管道配置中的群集配置中设置为
apply_policy_default_values
true
:{ "clusters": [ { "label": "default", "policy_id": "<policy-id>", "apply_policy_default_values": true } ] }
配置群集标记
可以使用群集标记来监视管道群集的使用情况。 在创建或编辑管道时或在管道群集编辑 JSON 设置时,在 Delta Live Tables UI 中添加群集标记。
选择要运行管道的实例类型
默认情况下,Delta Live Tables 为管道的驱动程序和工作器节点选择实例类型。 可以选择配置实例类型。
例如,选择实例类型以提高管道性能,或者在运行管道时解决内存问题。 在使用 REST API 或增量实时表 UI 创建或编辑管道时,可以配置实例类型。
若要在增量实时表 UI 中创建或编辑管道时配置实例类型:
- 单击“设置”按钮。
- 在管道设置的“高级”部分中,在“辅助角色类型”和“驱动程序类型”下拉菜单中,选择管道的实例类型。
高级计算配置
注意
由于“无服务器 DLT 管道”管道的计算资源是完全托管的,因此为管道选择“无服务器”时,计算设置不可用。
每个增量实时表管道有两个关联的群集:
updates
群集处理管道更新。maintenance
群集运行日常维护任务。
使用工作区管道配置 UI 指定的计算设置适用于更新和维护群集。 必须编辑 JSON 配置才能独立修改这些设置。
这些群集使用的配置由 clusters
管道设置中指定的属性确定。
使用群集标签,可以添加仅适用于特定群集类型的计算设置。 配置管道群集时可以使用三个标签:
注意
如果只定义一个群集配置,则可以省略群集标签设置。 如果未提供标签的设置,则 default
标签将应用于群集配置。 仅当需要为不同的群集类型自定义设置时,才需要群集标签设置。
- 该
default
标签定义和群集的updates
maintenance
计算设置。 将相同的设置应用于这两个群集可确保将所需的配置(例如存储位置的数据访问凭据)应用于维护群集,从而提高维护运行的可靠性。 maintenance
标签定义要仅应用于maintenance
群集的计算设置。 还可以使用maintenance
标签替代由default
标签配置的设置。updates
标签定义要仅应用于updates
群集的设置。 使用它来配置不应应用于群集的设置maintenance
。
使用 default
和 updates
标签定义的设置将合并为 updates
群集创建最终配置。 如果使用 default
和 updates
标签定义相同的设置,则使用 updates
标签定义的设置将替代使用 default
标签定义的设置。
以下示例定义一个 Spark 配置参数,该参数仅添加到 updates
群集的配置中:
{
"clusters": [
{
"label": "default",
"autoscale": {
"min_workers": 1,
"max_workers": 5,
"mode": "ENHANCED"
}
},
{
"label": "updates",
"spark_conf": {
"key": "value"
}
}
]
}
增量实时表的群集设置选项与 Azure Databricks 上的其他计算类似。 与配置其他管道设置一样,你可以修改群集的 JSON 配置以指定不显示在 UI 中的选项。 请参阅计算。
注意
由于 Delta Live Tables 运行时会管理管道群集的生命周期并运行自定义版本的 Databricks Runtime,因此你无法在管道配置中手动设置某些群集设置,例如 Spark 版本或群集名称。 请参阅不可由用户设置的群集属性。
为更新和维护群集配置实例类型
若要在管道的 JSON 设置中配置实例类型,请单击“JSON”按钮,并在群集配置中输入实例类型配置:
注意
为了避免向 maintenance
群集分配不必要的资源,此示例使用 updates
标签来仅设置 updates
群集的实例类型。 若要将实例类型分配给 updates
和 maintenance
群集,请使用 default
标签或省略标签的设置。 如果未提供标签的设置,则 default
标签将应用于管道群集配置。 请参阅 高级计算配置。
{
"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
。
注意
由于增量实时表群集在不使用时自动关闭,因此引用群集配置中设置 autotermination_minutes
的群集策略会导致错误。
创建单节点群集
如果在群集设置中将 num_workers
设置为 0,群集将创建为单节点群集。 配置自动缩放群集并将设置为 min_workers
0 和 max_workers
0 将创建单个节点群集。
如果将自动缩放群集配置为仅 min_workers
设置为 0,则群集不会创建为单节点群集。 在终止之前,群集将始终至少句有 1 个活动辅助角色。
在增量实时表中创建单节点群集的示例群集配置:
{
"clusters": [
{
"num_workers": 0
}
]
}