配置 DLT 管道

本文介绍了使用工作区 UI 配置 DLT 管道的基本方法。

Databricks 建议使用无服务器模式开发新的管道。 无服务器管道的配置说明。

本文中的配置说明使用的是 Unity Catalog。 有关使用旧 Hive 元存储配置管道的说明,请参阅将 DLT 管道与旧 Hive 元存储配合使用

本文讨论管道当前默认发布模式的功能。 在 2025 年 2 月 5 日之前创建的管道可能使用旧版发布模式和 LIVE 虚拟架构。 请参阅 LIVE 架构(旧版)。

备注

该 UI 有一个以 JSON 格式显示和编辑设置的选项。 可以使用 UI 或 JSON 规范配置大多数设置。 某些高级选项仅在使用 JSON 配置时才可用。

将管道部署到新环境或使用 CLI 或 REST API 时,JSON 配置文件也很有用。

有关 DLT JSON 配置设置的完整参考,请参阅 DLT 管道配置

配置新 DLT 管道

要配置新的 DLT 管道,请执行以下操作:

  1. 单击边栏中的“DLT”。

  2. 单击“创建管道”。

  3. 提供唯一的“管道名称”。

  4. (可选)使用 文件选取器图标 文件选取器将笔记本和工作区文件配置为 源代码

    • 如果未添加任何源代码,则为管道创建一个新笔记本。 笔记本是在用户目录中的新目录中创建的,创建管道后,“管道详细信息”窗格中的“源代码”字段中会显示用于访问此笔记本的链接。
      • 创建管道后,可使用“管道详细信息”面板中的“源代码”字段下显示的 URL 访问此笔记本。
    • 使用“添加源代码”按钮添加其他源代码资源。
  5. 选择“存储”选项下的 Unity 目录

  6. 选择一个目录。 此设置控制管道元数据的默认目录和存储位置。

  7. 在目录中选择一个架构。 默认情况下,将在此架构中创建管道中定义的流式处理表和具体化视图。

  8. 在“计算”部分,勾选“使用 Photon 加速”旁边的框。 有关其他计算配置注意事项,请参阅 计算配置选项

  9. 单击“ 创建”。

这些推荐配置会创建在“触发”模式下运行的新管道,并使用“当前”通道。 此配置适用于许多用例,包括开发和测试,并且非常适合按计划运行的生产工作负载。 有关调度管道的详细信息,请参阅作业的 DLT 管道任务

计算配置选项

Databricks 建议始终使用“增强型自动缩放”。 其他计算配置的默认值适用于许多管道。

使用以下设置自定义计算配置:

  • 工作区管理员可以配置“群集策略”。 计算策略允许管理员控制用户可使用的计算选项。 请参阅 “选择群集策略”。

  • 可以选择配置“群集模式”,以“固定大小”或“旧版自动缩放”运行。 请参阅 使用自动缩放优化 DLT 管道的群集利用率

  • 对于已启用自动缩放的工作负载,设置“最小工作节点数”和“最大工作节点数”以设置缩放行为的限制。 请参阅为 DLT 管道配置计算

  • 可以选择关闭 Photon 加速。 请参阅什么是 Photon?

  • 使用群集标记来帮助监视与 DLT 管道相关的成本。 请参阅 “配置群集标记”。

  • 配置实例类型以指定用于运行管道的虚拟机类型。 请参阅 “选择实例类型”以运行管道

    • 为管道中配置的工作负载选择优化后的“工作节点类型”
    • 可以选择一个与工作节点类型不同的驱动程序类型。 这对于在工作节点类型较大且驱动程序计算利用率较低的管道中降低成本,或者对于选择更大的驱动程序类型以避免在有许多小工作节点的工作负载中出现内存不足问题很有用。

其他配置注意事项

以下配置选项也可用于管道:

选择产品版本

选择具有最适合你的管道要求的功能的 DLT 产品版本。 可以使用以下产品版本:

  • Core,用于运行流式处理引入工作负载。 如果你的管道不需要变更数据捕获 (CDC) 或 DLT 期望等高级功能,请选择 Core 版本。
  • Pro,用于运行流式处理引入和 CDC 工作负载。 Pro 产品版本支持所有 Core 功能,此外还支持需要根据源数据的更改更新表的工作负载。
  • Advanced,用于运行流式处理引入工作负载、CDC 工作负载,以及需要“期望”功能的工作负载。 Advanced 产品版本支持 CorePro 版本的功能,并且通过 DLT 期望纳入了数据质量约束。

在创建或编辑管道时可以选择产品版本。 可为每个管道选择不同的版本。 请参阅 DLT 产品页

注意:如果管道包含所选产品版本不支持的功能(例如期望),你将收到说明出错原因的错误消息。 然后,可以编辑该管道以选择适当的版本。

配置源代码

可以使用 DLT UI 中的文件选择器来配置用于定义管道的源代码。 管道源代码在 Databricks 笔记本中定义,或者在工作区文件所存储的 SQL 或 Python 脚本中定义。 创建或编辑管道时,可以添加一个或多个笔记本或工作区文件,或者添加笔记本和工作区文件的组合。

由于 DLT 会自动分析数据集依赖项来构造管道的处理图,因此你可以按任意顺序添加源代码资产。

可以修改 JSON 文件,以包含工作区文件中存储的 SQL 和 Python 脚本中定义的 DLT 源代码。 以下示例包含笔记本和工作区文件:

{
  "name": "Example pipeline 3",
  "storage": "dbfs:/pipeline-examples/storage-location/example3",
  "libraries": [
    { "notebook": { "path": "/example-notebook_1" } },
    { "notebook": { "path": "/example-notebook_2" } },
    { "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.sql" } },
    { "file": { "path": "/Workspace/Users/<user-name>@databricks.com/Apply_Changes_Into/apply_changes_into.py" } }
  ]
}

管理使用 Python 的管道的外部依赖项

DLT 支持在管道中使用外部依赖项,例如 Python 包和库。 若要了解使用依赖项的选项和建议,请参阅 管理 DLT 管道的 Python 依赖项

使用存储在 Azure Databricks 工作区中的 Python 模块

除了在 Databricks 笔记本中实现 Python 代码外,还可以使用 Databricks Git 文件夹或工作区文件将代码存储为 Python 模块。 想要在多个管道或同一管道中的笔记本中使用通用功能时,将代码存储为 Python 模块特别有用。 若要了解如何将 Python 模块用于管道,请参阅 从 Git 文件夹或工作区文件导入 Python 模块