基于 ADF 切片的调度和滞后数据
ADF slice based scheduling and lagged data
我们有一个包含按 ExportDate 而不是按 EventDate 分区的时间线数据的数据源。所以一个分区可以包含一个数据:
- EventTime = ExportDate (99%)
- EventTime < ExportDate (~ 1%)
我们希望能够自动重新运行过去 N 天的数据切片(作为滑动 window)。例如,假设当前日期为 03-15-2017,那么今天我们应该重新处理数据切片:
current date
03-15-2017
past N days
03-14-2017
03-13-2017
...
03-(15-N)-2017
但看起来 ADF 没有在 scheduler 或 policy 节点中提供任何选项。所以我的问题是如何用 ADF 实现它?
我建议您在这里有 2 个选项...
1) 在 ADF 中创建自定义 activity 以获取您描述的滑动 window 的数据。您可以将参数传递给自定义 activity 并让它导入一系列文件。这当然是用 C# 编写的,因此您几乎可以在这里做任何您需要的事情。
这是目前我能想到的最佳方法,将为您提供所需的更多动态灵活性。
2) 使用 PowerShell cmdlet 覆盖给定幻灯片期间的一组时间片的状态。
例如:
Set-AzureRmDataFactorySliceStatus `
-ResourceGroupName $ResourceGroup `
-DataFactoryName $ADFName `
-DatasetName "YourDataSetName" `
-StartDateTime 2017-03-01 ` #start, pass as param to be dynamic
-EndDateTime 2017-03-15 ` #end, pass as param to be dynamic
-Status "Waiting" ` #Waiting to rerun
-UpdateType "Individual"
然后您可以使用 Azure 自动化触发它。不理想,但可以暂时解决问题,直到 ADF 中提供更全面的调度。
我明白这两个选项都不理想。
希望对您有所帮助。
我们有一个包含按 ExportDate 而不是按 EventDate 分区的时间线数据的数据源。所以一个分区可以包含一个数据:
- EventTime = ExportDate (99%)
- EventTime < ExportDate (~ 1%)
我们希望能够自动重新运行过去 N 天的数据切片(作为滑动 window)。例如,假设当前日期为 03-15-2017,那么今天我们应该重新处理数据切片:
current date
03-15-2017
past N days
03-14-2017
03-13-2017
...
03-(15-N)-2017
但看起来 ADF 没有在 scheduler 或 policy 节点中提供任何选项。所以我的问题是如何用 ADF 实现它?
我建议您在这里有 2 个选项...
1) 在 ADF 中创建自定义 activity 以获取您描述的滑动 window 的数据。您可以将参数传递给自定义 activity 并让它导入一系列文件。这当然是用 C# 编写的,因此您几乎可以在这里做任何您需要的事情。
这是目前我能想到的最佳方法,将为您提供所需的更多动态灵活性。
2) 使用 PowerShell cmdlet 覆盖给定幻灯片期间的一组时间片的状态。
例如:
Set-AzureRmDataFactorySliceStatus `
-ResourceGroupName $ResourceGroup `
-DataFactoryName $ADFName `
-DatasetName "YourDataSetName" `
-StartDateTime 2017-03-01 ` #start, pass as param to be dynamic
-EndDateTime 2017-03-15 ` #end, pass as param to be dynamic
-Status "Waiting" ` #Waiting to rerun
-UpdateType "Individual"
然后您可以使用 Azure 自动化触发它。不理想,但可以暂时解决问题,直到 ADF 中提供更全面的调度。
我明白这两个选项都不理想。
希望对您有所帮助。