gpt4 book ai didi

mongodb - 通过 Azure 数据工厂增量加载 MongoDB 数据

转载 作者:行者123 更新时间:2023-12-03 01:59:59 24 4
gpt4 key购买 nike

我想使用 Azure 数据工厂将数据从 MongoDB 增量加载到 Azure 存储。我找不到任何相关文档来执行此操作。感谢是否有一种方法可以使用 Azure 数据工厂实现此目的。我已经检查过以下链接,但没有一个谈论从 mongoDB 增量加载数据。

https://learn.microsoft.com/en-us/azure/data-factory/connector-mongodb?tabs=data-factory

从 mongodb 增量加载数据。

最佳答案

为了将数据从 azure cosmos dB - mongo dB Api 增量复制到 azure blob 存储,您需要维护水印表。该表将包含上次管道运行的时间戳值。如果您将水印表存储在 mongo dB API 中,ADF 没有查询它的选项。因此,我使用 azure SQL 数据库中的水印表来存储它。

enter image description here

最初,值在水印表中存储为1900-01-01。ADF 中应遵循的步骤:

  • 使用指向水印表的数据集进行查找事件。将查询指定为 select date_col from watermark

enter image description here

  • 然后执行查找事件旁边的复制事件。获取 mongo DB 的源数据集。在过滤器中,键入以下内容以过滤大于水印表值的行。
{"created_date":{$gt:@{activity('Lookup1').output.firstRow.date_col}}
  • 创建接收器数据集并将文件名保持为动态。 @concat('filename_',utcnow())。这会将文件名与创建时的日期时间连接起来。

enter image description here

  • 在复制事件之后获取脚本事件并将查询指定为,
update watermark
set date_col='@{utcNow()}'

这将使用当前 UTC 更新watermark 表。因此,在下一次管道运行中,在 mongo dB API 中当前 UTC 之后创建的任何行都将被复制到新文件中。

关于mongodb - 通过 Azure 数据工厂增量加载 MongoDB 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76654844/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com