【问题标题】:How schedule activity works in Azure Data FactoryAzure 数据工厂中计划活动的工作原理
【发布时间】:2016-04-09 15:48:39
【问题描述】:

我正在尝试掌握数据工厂的概念以了解调度活动的工作原理,但并没有真正了解多少。

假设我的工作流程如下:

  1. 我有一个代理(构建为 Windows 服务)在客户端计算机上运行,​​它计划在每天凌晨 1 点从 SAP 源中提取数据,然后将其放在 Azure blob 存储中。代理只是尝试仅提取昨天的数据。示例:今天(4 月 9 日)凌晨 1 点运行的代理仅在 4 月 8 日提取整个数据。此代理与数据工厂无关。

  2. 假设代理获取每日数据(4 月 8 日)并将其放入 blob 存储大约需要 30 分钟,这可能或多或少取决于数据的大小。

  3. 我有一个 Factory Pipepine(从 2016-04-08T01:30:00Z 开始永远活动),它使用 blob 存储作为输入数据集和 1 个计划活动将数据从 blob 存储复制到数据库。

输入数据集的可用性选项为每日频率:

"availability": {
  "frequency": "Day",
  "interval": 1
}

按每日频率安排活动:

   "scheduler": {
      "frequency": "Day",
      "interval": 1
    }

所以,根据工作流程,我的问题是:

  1. 凌晨 1:30 后,代理完成从 SAP 中提取的数据,并将其作为输入数据集放入博客存储中。数据工厂如何知道 4 月 8 日的数据切片已为数据工厂做好准备。

  2. 如果1:30后数据还没有准备好,此时Activity还在运行呢?

【问题讨论】:

    标签: azure azure-data-factory


    【解决方案1】:

    如果我正确理解了您的特定场景,并且您有权修改 Windows 服务的代码,您可以让您的 Windows 服务在 ADF 管道完成后启动它。我正在做类似这样的事情,我需要控制我的管道何时开始。我有一个本地工作从几个数据源中提取数据并将其放入一个 azure sql db。一旦完成,我需要开始我的管道,但是我无法确切知道我的工作何时完成。所以我在本地工作的最后一步是启动我的 ADF 管道。我写了一篇关于如何做到这一点的文章here - Starting an azure data factory pipeline from .net

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      如果 Azure Blob 存储中有每天出现的数据,则可以尝试使用日期文件夹(例如:.../yyyy/MM/dd/...)。数据工厂可以检测特定日期文件夹是否存在,以确定特定日期的切片是否已准备好进行处理。如果数据工厂没有看到当天的文件夹,它将不会执行该切片的管道。

      我还建议将提取过程作为数据工厂处理的一部分,这样如果提取失败,管道将不会进一步执行。

      我希望这会有所帮助!

      【讨论】:

        【解决方案3】:

        据我所知,Azure 数据工厂目前不支持通过创建或更新 blob 来触发管道。

        对于此工作流程,解决方案是根据时间安排输入数据集。如果您确信数据提取将在凌晨 1:30 之前完成,那么您可以安排作业在每天凌晨 1:30 运行(或者可能稍晚一点,以防提取运行时间较长)。这样,将管道的开始时间设置为“2016-04-08T01:30:00Z”(对于 UTC 时间)。您应该能够以这样一种方式创作输入数据集,即如果数据提取,作业将失败尚未完成,这将允许您注意到失败并重新运行它。该活动将在您安排时开始,并将尽快完成。 See this page for details on moving data between Azure Blob and Azure SQL. 您的工作流程与该链接中的示例非常相似,只是您的频率为“Day”。

        根据本地数据的存储方式,可能值得考虑直接从本地源移动数据,绕过 Azure Blob。 This is supported using a Data Management Gateway, as documented here. 不幸的是,我对 SAP 不熟悉,因此无法提供更多信息。

        【讨论】:

        • 也许我的问题不够清楚,假设我的管道永远处于活动状态,并且有一个 SCHEDULE 活动来监控 blob 存储。我的问题是计划活动如何知道数据切片何时可用?该代理与 Factory 无关,它是作为 Windows 服务构建的,目前可以完美运行。好吧,我对总是在凌晨 1:30 之前完成数据提取没有信心
        猜你喜欢
        • 2020-09-17
        • 2020-06-11
        • 1970-01-01
        • 2021-12-17
        • 2022-01-04
        • 1970-01-01
        • 1970-01-01
        • 2022-11-11
        • 1970-01-01
        相关资源
        最近更新 更多