本文包含为 DLT 管道配置自定义计算设置时的说明和注意事项。
无服务器管道未提供计算配置选项。
选择群集策略
用户必须有权部署计算来配置和更新 DLT 管道。 工作区管理员可以配置群集策略,以便用户能够访问 DLT 的计算资源。 请参阅 定义 DLT 管道计算限制。
注释
配置群集标记
可以使用群集标记来监视管道群集的使用情况。 在创建或编辑管道时或在管道群集编辑 JSON 设置时,在 DLT UI 中添加群集标记。
选择要运行管道的实例类型
默认情况下,DLT 为管道的驱动程序和工作器节点选择实例类型。 可以选择配置实例类型。
例如,选择实例类型以提高管道性能,或者在运行管道时解决内存问题。 使用 REST API 或 DLT UI 创建 或 编辑 管道时,可以配置实例类型。
若要在 DLT UI 中创建或编辑管道时配置实例类型:
单击“设置”按钮。
在管道设置的“高级”部分中,在“辅助角色类型”和“驱动程序类型”下拉菜单中,选择管道的实例类型。
高级计算配置
注释
由于无服务器 DLT 管道的计算资源已被完全管理,因此在为管道选择 无服务器 时,计算设置将不可用。
每个 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"
}
}
]
}
DLT 的群集设置选项与 Azure Databricks 上的其他计算选项类似。 与配置其他管道设置一样,你可以修改群集的 JSON 配置以指定不显示在 UI 中的选项。 请参阅计算。
注释
由于 DLT 运行时管理管道群集的生命周期并运行 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
。
注释
由于 DLT 群集在不使用时会自动关闭,因此引用群集配置中设置 autotermination_minutes
的群集策略会导致错误。
创建单节点群集
如果在群集设置中将 num_workers
设置为 0,则群集将创建为单节点群集。 配置自动缩放群集,并将 min_workers
设置为 0,将 max_workers
设置为 0,这样会创建一个单节点群集。
如果配置自动缩放群集,并仅将 min_workers
设置为 0,则群集不会创建为单节点群集。 在终止之前,群集将始终至少句有 1 个活动辅助角色。
在 DLT 中创建单节点群集的示例群集配置:
{
"clusters": [
{
"num_workers": 0
}
]
}