如何在 Azure Cosmos DB for PostgreSQL 中使用 Azure 数据工厂引入数据

适用对象: Azure Cosmos DB for PostgreSQL(由 PostgreSQL 的 Citus 数据库扩展提供支持)

Azure 数据工厂是基于云的 ETL 和数据集成服务。 使用它可以创建数据驱动的工作流,从而大规模移动和转换数据。

通过使用数据工厂,可创建和计划数据驱动型工作流(称为“管道”),以便从不同的数据存储引入数据。 管道可在本地、Azure 或其他云提供商上运行,以用于分析和报告。

数据工厂具有用于 Azure Cosmos DB for PostgreSQL 的数据接收器。 借助该数据接收器,可将数据(关系数据、NoSQL 数据、数据湖文件)放入 Azure Cosmos DB for PostgreSQL 表中来进行存储、处理和报告。

Dataflow diagram for Azure Data Factory.

重要

目前,数据工厂不支持 Azure Cosmos DB for PostgreSQL 的专用终结点。

用于实时引入的数据工厂

下面是选择使用 Azure 数据工厂将数据引入 Azure Cosmos DB for PostgreSQL 的关键原因:

  • 易于使用 - 提供无代码视觉环境,用于协调和自动执行数据移动。
  • 功能强大 - 使用基础网络带宽的完整容量(吞吐量最高可达 5 GiB/秒)。
  • 内置连接器 - 将你的所有数据源与 90 多个内置连接器集成。
  • 经济高效 - 支持一种使用标准预付费套餐、完全托管且按需缩放的无服务器云服务。

数据工厂使用步骤

在本教程中,你将使用数据工厂用户界面 (UI) 创建一个数据管道。 此数据工厂中的管道将数据从 Azure Blob 存储复制到数据库。 如需可以用作源和接收器的数据存储的列表,请参阅支持的数据存储表。

在数据工厂中,可使用“复制”活动将本地与云中的数据存储内的数据复制到 Azure Cosmos DB for PostgreSQL。 如果你不熟悉数据工厂,请查看下面有关如何入门的快速指南:

  1. 预配数据工厂后,转到你的数据工厂并启动 Azure 数据工厂工作室。 此时会看到“数据工厂”主页,如下图所示:

    Screenshot showing the landing page of Azure Data Factory.

  2. 在 Azure 数据工厂工作室主页上,选择“协调”。

    Screenshot showing the 'Orchestrate' page of Azure Data Factory.

  3. 在“属性”下,输入管道的名称。

  4. 在“活动”工具箱中,展开“移动和转换”类别,然后将“复制数据”活动拖放到管道设计器图面。 在设计器窗格底部的“常规”选项卡上,输入复制活动的名称。

    Screenshot showing a pipeline in Azure Data Factory.

  5. 配置“源”。

    1. 在“活动”页上,选择“源”选项卡。选择“新建”以创建源数据集。

    2. 在“新建数据集”对话框中选择“Azure Blob 存储”,然后选择“继续”。

    3. 选择数据的格式类型,然后选择“继续”。

    4. 在“设置属性”页上的“链接服务”下,选择“新建”。

    5. 在“新建链接服务”页面上,输入链接服务的名称,并从“存储帐户名称”列表中选择你的存储帐户。

      Screenshot that shows configuring Source in Azure Data Factory.

    6. 在“测试连接”下,选择“到文件路径”,输入要连接到的容器和目录,然后选择“测试连接”。

    7. 选择“创建”以保存配置。

    8. 在“设置属性”屏幕上,选择“确定”。

  6. 配置“接收器”。

    1. 在“活动”页上,选择“接收器”选项卡。选择“新建”以创建接收器数据集。

    2. 在“新建数据集”对话框中选择“Azure Database for PostgreSQL”,然后选择“继续”。

    3. 在“设置属性”页上的“链接服务”下,选择“新建”。

    4. 在“新建链接服务”页上,输入链接服务的名称,然后在“帐户选择方法”中选择“手动输入”。

    5. 在“完全限定的域名”字段中输入群集的协调器名称。 可以从 Azure Cosmos DB for PostgreSQL 群集的“概述”页复制协调器的名称。

    6. 将默认端口 5432 保留在端口字段中,以便直接连接到协调器,或者将其替换为端口 6432 以连接到托管的 PgBouncer 端口。

    7. 在群集上输入数据库名称,并提供用于连接到它的凭据。

    8. 在“加密方法”下拉列表中选择 SSL

      Screenshot that shows configuring Sink in Azure Data Factory.

    9. 选择面板底部的“测试连接”以验证接收器配置。

    10. 选择“创建”以保存配置。

    11. 在“设置属性”屏幕上,选择“确定”。

    12. 在“活动”页上的“接收器”选项卡中,选择“接收器数据集”下拉列表旁边的“打开”,然后选择要在其中引入数据的目标群集上的表名称。

    13. 在“write 方法”下,选择“Copy 命令”。

    Screenshot that shows selecting the table and Copy command.

  7. 在画布上方的工具栏中选择“验证”,以便验证管道设置。 修复任何错误,重新验证并确保已成功验证管道。

  8. 从工具栏中选择“调试”以执行管道。

    Screenshot that shows Debug and Execute in Azure Data Factory.

  9. 在管道可以成功运行后,在顶部工具栏中选择“全部发布”。 此操作将所创建的实体(数据集和管道)发布到数据工厂。

在数据工厂中调用存储过程

在一些特定场景中,可能需要调用存储过程/函数,将聚合数据从临时表推送到摘要表。 数据工厂不提供 Azure Cosmos DB for PostgreSQL 的存储过程活动;解决方法是,你可以将“查找”活动与查询相结合来调用存储过程,如下所示:

Screenshot that shows calling a procedure in Azure Data Factory.

后续步骤