我正在尝试掌握数据工厂的概念以了解计划活动的工作原理,但并不太了解。
假设我的工作流程如下:
我有一个在客户端机器上运行的代理(构建为 Windows 服务),它计划每天凌晨 1 点从 SAP 源中提取数据,然后将其放在 Azure blob 存储上。代理只是尝试仅提取昨天的数据。示例:今天(4 月 9 日)凌晨 1 点运行的代理仅在 4 月 8 日提取整个数据。此代理与数据工厂无关。
假设代理获取每日数据(4 月 8 日)并将其放入 blob 存储大约需要 30 分钟,这可能或多或少取决于数据的大小。
我有一个 Factory Pipepine(从 2016-04-08T01:30:00Z永久激活),它使用 blob 存储作为输入数据集和 1 个计划活动将数据从 blob 存储复制到数据库。
输入数据集的可用性选项为每日频率:
"availability": {
"frequency": "Day",
"interval": 1
}
计划活动安排为每日频率:
"scheduler": {
"frequency": "Day",
"interval": 1
}
因此,根据工作流程,我的问题是:
凌晨 1 点 30 分之后,代理完成从 SAP 中提取的数据,并将其作为输入数据集放入博客存储中。数据工厂如何知道 4 月 8 日的数据切片已为数据工厂做好准备。
如果 1:30 后数据还没有准备好,此时 Activity 还在运行呢?