【问题标题】:azure data factory - performing full IDL for the first sliceazure 数据工厂 - 为第一个切片执行完整的 IDL
【发布时间】:2017-03-04 04:30:24
【问题描述】:

我正在开发数据工厂 POC,以取代现有的将数据从一个系统加载到另一个系统的数据集成解决方案。现有解决方案提取当前时间点之前的所有可用数据,然后在连续运行中提取自上次运行以来更改的新/更新数据。基本上是 IDL(初始数据加载),然后更新。

数据工厂的工作方式有些相似,并以切片的形式提取数据。但是,我需要第一个切片来包含从一开始的所有数据。我可以说管道开始时间是“时间的开始”,但这会产生太多的切片。

例如,我希望它每天运行并获取每日增量。但我想先提取过去 10 年的数据。我不想创建 3650 个切片来赶上。我希望第一个切片覆盖 WindowStart 参数并将其设置为过去的某个预定点。然后连续切片使用正常的WindowStart-WindowEnd时间间隔。

有没有办法做到这一点?

谢谢!

【问题讨论】:

    标签: azure integration azure-data-factory


    【解决方案1】:

    您如何创建两个管道,一个作为“运行一次”传输所有初始数据,然后克隆该管道,以便复制管道中的所有数据集和链接的服务引用。然后将时间表添加到其中,并使用 SQL 查询仅获取使用日期变量的新数据?在第二个管道中你需要这样的东西:

    "source":
    {
        "type": "SqlSource",
        "SqlReaderQuery": "$$Text.Format('SELECT * FROM yourTable WHERE createdDate > \\'{0:yyyyMMdd-HH}\\'', SliceStart)"
    },
    "sink":
    {
        ...
    }
    

    希望这是有道理的。

    【讨论】:

    • wBob,我正在考虑这个想法。问题是我有多个实体要提取,最多 20 个。所以我必须创建额外的 20 个管道,我可能需要将所有这些乘以客户数量。所以它会很快变得凌乱..谢谢你的建议。
    猜你喜欢
    • 2016-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-05
    • 2020-09-29
    相关资源
    最近更新 更多