使用增量实时表和无服务器计算创建完全托管的管道

重要

无服务器 DLT 管道处于公共预览状态。 要了解如何启用无服务器 DLT 管道,请联系 Azure Databricks 帐户团队。

本文介绍如何将增量实时表与无服务器计算配合使用,以完全托管的计算方式运行管道更新,并详细介绍可提高管道性能的无服务器计算功能。

在不配置和部署基础结构的情况下,使用无服务器 DLT 管道运行增量实时表管道。 借助无服务器 DLT 管道,你可以专注于实现数据引入和转换,并且 Azure Databricks 可以高效管理计算资源,包括优化和扩展工作负载的计算。 无服务器 DLT 管道包括以下功能:

  • 自动优化的计算仅在需要时运行。
  • 可靠且完全托管的计算资源。
  • 通过对具体化视图进行增量刷新,实现更高效的数据集更新。
  • 运行管道更新的计算资源的启动速度更快。

无服务器 DLT 管道还具有以下功能,可优化管道的处理性能、支持更有效地使用计算资源并有助于降低运行管道的成本:

  • 流管道化:为了提高流数据工作负载(例如数据引入)的利用率、吞吐量和改善延迟,将使用无服务器 DLT 管道对微批进行管道化。 换言之,无服务器 DLT 管道不是像标准 Spark 结构化流式处理那样按顺序运行微批,而是同时运行微批,从而提高了计算资源利用率。 无服务器 DLT 管道中默认已启用流管道化。
  • 垂直自动缩放:无服务器 DLT 管道通过自动分配最具经济高效的实例类型(这些实例类型可以运行增量实时表管道,而不会因内存不足错误而失败),增强了 Databricks 增强型自动缩放提供的水平自动缩放能力。 请参阅什么是垂直自动缩放?

由于不需要群集创建权限,因此所有工作区用户都可以使用无服务器 DLT 管道来运行其工作流。

要求

使用无服务器 DLT 管道运行管道更新

重要

由于无服务器 DLT 管道的计算资源完全由其管理,因此无服务器管道的增量实时表 UI 中不提供计算设置。 启用无服务器时,为管道配置的任何计算设置都将被删除。 如果将管道切换回非无服务器更新,则必须将这些计算设置重新添加到管道配置中。 此外,无法在管道的 JSON 配置中的 clusters 对象内手动添加计算设置。

若要运行使用无服务器 DLT 管道的管道更新,请在创建或编辑管道时选中“无服务器”复选框

如何在无服务器 DLT 管道中刷新具体化视图?

如果可能,查询结果会针对无服务器管道中的具体化视图以递增方式更新。 执行增量刷新时,结果相当于完全重新计算。 如果无法以增量方式刷新具体化视图,刷新过程将改用完全刷新。 请参阅刷新具体化视图的操作

什么是垂直自动缩放?

无服务器 DLT 管道垂直自动缩放会自动分配最经济高效的可用实例类型来运行增量实时表管道更新,而不会因内存不足错误而失败。 当需要较大的实例类型来运行管道更新时,垂直自动缩放会纵向扩展;当确定可以使用较小的实例类型来运行更新时,垂直自动缩放还会纵向缩减。 垂直自动缩放确定是否应纵向扩展或缩减驱动程序节点、工作器节点或者这两种节点。

垂直自动缩放用于所有无服务器 DLT 管道,包括 Databricks SQL 具体化视图和流式处理表使用的管道。

垂直自动缩放的工作方式是检测因内存不足错误而失败的管道更新。 检测到这些失败时,垂直自动缩放会根据从失败的更新收集的内存不足数据分配更大的实例类型。 在生产模式下,使用新计算资源的新更新会自动启动。 在开发模式下,当你手动启动新的更新时,将使用新的计算资源。

如果垂直自动缩放检测到分配的实例的内存始终未得到充分利用,在下一次管道更新时,它将纵向缩减所要使用的实例类型。