配置增量实时表管道

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

Databricks 建议使用无服务器开发新的管道。

本文的配置说明使用 Unity Catalog。 有关使用旧版 Hive 元存储配置管道的说明,请参阅将增量实时表管道与旧版 Hive 元存储配合使用

注意

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

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

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

配置新的增量实时表管道

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

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

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

计算配置选项

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

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

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

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

  • 对于已启用自动缩放的工作负载,请设置最小辅助角色数最大辅助角色数,以设置缩放行为的限制。 请参阅配置增量实时表管道的计算

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

  • 使用群集标记,以帮助监控与增量实时表管道相关的成本。 请参阅配置群集标记

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

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

其他配置注意事项

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

选择产品版本

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

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

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

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

配置源代码

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

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

可修改 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 的管道的外部依赖项

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

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

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