ADF每年切片,无法从当年获得数据



我在Azure Data Factory配置管道很难。

我需要每天上传过去两年的数据,我的意思是整个2016年和2017年直到今天。我设置了一个管道,其中WindowStart日期为2016/01/01,WindowEnd日期为2018/01/01,输出配置了可用性 ->频率为几个月:12。这将生成2片,2016年为2017年。

2016年的切片成功运行,但2017年的切片始终处于"待执行"状态,我的猜测是,由于2017年尚未完成,它尚未运行。

即使将来的窗口设备是窗口,有没有办法强迫它运行?

我尝试按月进行一些链条活动,然后将它们分组,但是我的测试都没有给我我的需求。

我觉得问题并不罕见,因为即使您想每月进行一次,本月也不会上传。问题来自以下事实:窗口启动必须与slicestart匹配,并且窗口端必须匹配切片。

我想念什么吗?有任何建议吗?

当您部署管道时创建所有切片。但是默认情况下,仅当您到达切片结束时才计划。因此,您的2017年仅在结束时才会运行。

您可以指定"样式":" startofinterval"以更改行为。

通过设计切片来处理非重叠时间的离散期。通常,如果您每天处理数据集,则每天都会处理上一张数据,因此每个切片涵盖了一个可以累积的特定日子。

如果您希望每天执行它,则需要设置源的可用性:1

根据您的来源,您可以使用wndowstart参数过滤源,但仅使用年度部分。

例如,如果数据源是SQL数据库,并且您使用存储的Proc选择数据来提取数据库,则可以使用它将其仅通过一年传递给您存储的Proc。知道这将是当今的一年。您可以在PROC中使用它来过滤与当前和去年相对应的记录。

"typeProperties": {
          "storedProcedureName": "dbo.your_stored_proc",
          "storedProcedureParameters": {
            "year": "$$Text.Format('{0:yyyy}', SliceStart)",
          }

这有意义吗?

我建议阅读这篇文章,以了解有关ADF中计划的更多信息:

https://blogs.msdn.microsoft.com/ukdataplatform/2016/05/03/demystifying-actifity-activity-activity-scheduling-with-azure-data-factory/

您需要将管道和数据集的可用性样式设置为" startofinterval",例如:

        "availability": {
        "frequency": "Month",
        "interval": 12,
        "style": "StartOfInterval"
        }

相关内容

  • 没有找到相关文章