配置增量实时表管道

本文介绍使用工作区 UI 的增量实时表管道的基本配置。

Databricks 建议使用无服务器开发新管道。 有关无服务器管道的配置说明,请参阅 “配置无服务器增量实时表”管道

本文中的配置说明使用 Unity 目录。 有关使用旧 Hive 元存储配置管道的说明,请参阅 将 Delta Live Tables 管道与旧版 Hive 元存储配合使用。

注意

UI 可以选择在 JSON 中显示和编辑设置。 可以使用 UI 或 JSON 规范配置大多数设置。 某些高级选项仅在使用 JSON 配置时才可用。

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

有关增量实时表 JSON 配置设置的完整参考,请参阅增量实时表管道配置

配置新的增量实时表管道

若要配置新的增量实时表管道,请执行以下操作:

  1. 单击 边栏中的增量实时表
  2. 单击“ 创建管道”。
  3. 提供唯 一的管道名称
  4. 使用 文件选取器图标 文件选取器将笔记本和工作区文件配置为 源代码
    • 必须至少添加一个源代码资产。
    • 使用“ 添加源代码 ”按钮添加其他源代码资产。
  5. 选择要发布数据的目录
  6. 在目录中选择架构。 在此架构中创建管道中定义的所有流式处理表和具体化视图。
  7. “计算”部分中,选中“使用 Photon 加速”旁边的框。 有关其他计算配置注意事项,请参阅 计算配置选项
  8. 单击 “创建”

这些建议的配置创建配置为在 触发 模式下运行的新管道,并使用 当前 通道。 对于许多用例(包括开发和测试)建议使用此配置,并且非常适合按计划运行的生产工作负荷。 有关计划管道的详细信息,请参阅 作业的增量实时表管道任务。

计算配置选项

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

无服务器管道删除计算配置选项。 有关无服务器管道的配置说明,请参阅 “配置无服务器增量实时表”管道

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

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

  • 可以选择将群集模式配置为使用固定大小旧版自动缩放运行。 请参阅 使用增强的自动缩放优化增量实时表管道的群集利用率。

  • 对于启用了自动缩放的工作负荷,请将 Min worker 和 Max worker 设置为设置缩放行为的限制。 请参阅 配置增量实时表管道的计算。

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

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

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

    • 选择针对管道中配置的工作负荷优化的辅助角色类型
    • 可以选择与 辅助角色类型不同的驱动程序类型 。 这可用于降低管道中具有大型辅助角色类型和低驱动程序计算利用率的成本,或者选择更大的驱动程序类型,以避免在具有许多小型辅助角色的工作负荷中出现内存不足问题。

其他配置注意事项

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

选择产品版本

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

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

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

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

配置源代码

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

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

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

{
  "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 的管道的外部依赖项

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

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

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