使用 Azure 数据工厂复制和转换 Azure Cosmos DB 分析存储中的数据

适用于:Azure 数据工厂 Azure Synapse Analytics

本文概述了如何使用数据流转换 Azure Cosmos DB 分析存储中的数据。 有关详细信息,请阅读 Azure 数据工厂Azure Synapse Analytics 的简介文章。

备注

Azure Cosmos DB 分析存储连接器支持 Azure Cosmos DB API for NoSQL 和 Azure Cosmos DB API for Mongo DB 的变更数据捕获,目前为公共预览版。

支持的功能

此 Azure Cosmos DB for NoSQL 连接器支持以下功能:

支持的功能 IR 托管专用终结点
映射数据流源(源/接收器)

① Azure 集成运行时 ② 自承载集成运行时

映射数据流属性

在映射数据流中转换数据时,可以在 Azure Cosmos DB 的集合中读取和写入数据。 有关详细信息,请参阅映射数据流中的源转换接收器转换

备注

可找到数据集类型为 Azure Cosmos DB for NoSQL 的 Azure Cosmos DB 分析存储。

源转换

特定于 Azure Cosmos DB 的设置可在源转换的“源选项”选项卡中找到。

包括系统列:如果为 true,则会将 id_ts 和其他系统列包括在 Azure Cosmos DB 的数据流元数据中。 更新集合时,必须包括此项,以便能够获取现有行 ID。

页面大小:查询结果的每页文档数。 默认值为“-1”,表示使用服务动态页,最大为 1000。

吞吐量:为读取操作期间每次执行此数据流时要应用于 Azure Cosmos DB 集合的 RU 数设置一个可选值。 最小值为 400。

首选区域:选择此进程的首选读取区域。

更改源:如果为 true,则将从 Azure Cosmos DB 更改源获取数据,此更改源是一种持久记录,自动按运行从新到旧发生的顺序记录对容器所做的更改。 如果将其设置为 true,则不要同时将“推断偏移的列类型”和“允许架构偏移”设置为 true。 有关详细信息,请参阅 Azure Cosmos DB 更改源

从头开始:如果为 true,则将在首次运行时获取完整快照数据的初始加载,然后在下一次运行时捕获更改的数据。 如果为 false,则在第一次运行时将跳过初始加载,然后在下一次运行时捕获更改的数据。 设置与 Azure Cosmos DB 引用中的相同设置名称对齐。 有关详细信息,请参阅 Azure Cosmos DB 更改源

接收器转换

特定于 Azure Cosmos DB 的设置可在接收器转换的“设置”选项卡中找到。

更新方法: 确定数据库目标上允许哪些操作。 默认设置为仅允许插入。 若要更新、更新插入或删除行,需要进行 alter-row 转换才能标记这些操作的行。 对于更新、更新插入和删除操作,必须设置一个或多个键列,以确定要更改的行。

集合操作:确定在写入之前是否重新创建目标集合。

  • 注意:不会对集合执行任何操作。
  • 重新创建:将删除集合并重新创建集合

批大小:一个整数,表示每个批中有多少对象被写入 Azure Cosmos DB 集合。 通常,从默认批大小开始就足够了。 若要进一步调整此值,请注意:

  • Azure Cosmos DB 将单个请求的大小限制为 2 MB。 公式为“请求大小 = 单个文档大小 * 写入批大小”。 若出现“请求太大”错误,请减少批大小值。
  • 批大小越大,服务可以实现的吞吐量就越好,同时请确保分配足够的 RU 来授权工作负载。

分区键: 输入表示集合的分区键的字符串。 示例: /movies/title

吞吐量:为每次执行此数据流时要应用于 Azure Cosmos DB 集合的 RU 数设置一个可选值。 最小值为 400。

写入吞吐量预算: 一个整数,表示要分配给该集合的总吞吐量中要为此数据流写入操作分配的 RU。

Azure Cosmos DB 更改源

Azure 数据工厂可在映射数据流源转换中启用 Azure Cosmos DB 更改源,从而从中获取数据。 通过此连接器选项,可以在将转换后的数据加载到所选目标数据集之前,读取更改源并应用转换。 不需要使用 Azure Functions 读取更改源,然后编写自定义转换。 可以使用此选项将数据从一个容器移动到另一个容器,根据目的准备更改源驱动的材料视图,或根据更改源自动进行容器备份或恢复,并使用 Azure 数据工厂的可视拖放功能来启用更多此类用例。

请确保管道和活动名称保持不变,以便 ADF 可以记录检查点,从而自动从上次运行中获取更改的数据。 如果更改管道名称或活动名称,检查点将重置,进而导致从头开始或是在下一次运行中开始获取现在开始的更改数据。

调试管道时,此功能都以相同的方式工作。 在调试运行期间刷新浏览器时,检查点将重置。 若对调试运行中的管道结果感到满意,可继续发布并触发管道。 首次触发已发布管道时,管道将自动从头开始重启,或者立即开始获取更改数据。

在监视部分,你始终有机会重新运行管道。 执行此操作时,始终可从所选管道运行的上一个检查点捕获已更改的数据。

Azure Cosmos DB 分析存储中的变更数据捕获入门。