在Azure数据工厂中安排U-SQL作业

时间:2017-07-02 11:34:53

标签: azure azure-data-factory azure-data-lake u-sql

我有以下问题。我想在以下时间安排三个U-SQL作业:每天02:00UTC,03:00UTC和04:00UTC。我知道默认情况下,管道中的作业是在UTC时间上午12:00执行的,因此我的所有作业都在同一时间运行,这不是我想要的。

我红了documentation并且写了我应该考虑数据集模板中的 offset 参数。但是,当我尝试设置此时,会发生以下错误:error

我不知道如何设置不同于U-SQL作业的12:00 AM运行时。你能否提供一些关于如何正确地做到这一点的信息?另外,我附上了数据集和管道的模板:
数据集

{
"name": "TransformedData2",
"properties": {
    "published": false,
    "type": "AzureDataLakeStore",
    "linkedServiceName": "ADLstore_linkedService_scrapper",
    "typeProperties": {
        "fileName": "TestOutput2.csv",
        "folderPath": "transformedData/",
        "format": {
            "type": "TextFormat",
            "rowDelimiter": "\n",
            "columnDelimiter": ","
        }
    },
    "availability": {
        "frequency": "Day",
        "interval": 1,
        "style": "StartOfInterval"
    }
}

}

管道

{
"name": "filtering",
"properties": {
    "activities": [
        {
            "type": "DataLakeAnalyticsU-SQL",
            "typeProperties": {
                "scriptPath": "usqljobs\\cleanStatements.txt",
                "scriptLinkedService": "AzureStorageLinkedService",
                "degreeOfParallelism": 5,
                "priority": 100,
                "parameters": {}
            },
            "outputs": [
                {
                    "name": "TransformedData2"
                }
            ],
            "scheduler": {
                "frequency": "Day",
                "interval": 1,
                "style": "StartOfInterval"
            },
            "name": "Brajan filtering",
            "linkedServiceName": "AzureDataLakeAnalyticsLinkedService"
        }
    ],
    "start": "2017-07-02T09:50:00Z",
    "end": "2018-06-30T03:00:00Z",
    "isPaused": false,
    "hubName": "datafactoryfin_hub",
    "pipelineMode": "Scheduled"
}

}

由于

1 个答案:

答案 0 :(得分:3)

使用偏移属性可能会有点麻烦,因为您需要在数据集级别重新配置时间片。

作为替代方案,我建议在活动中使用延迟属性。这样可以提供更多控制,并且不需要重新配置时间片。

所以在你的JSON ......

{
"name": "filtering",
"properties": {
    "activities": [
        {
            "type": "DataLakeAnalyticsU-SQL",
            "typeProperties": {
                "scriptPath": "usqljobs\\cleanStatements.txt",
                "scriptLinkedService": "AzureStorageLinkedService",
                "degreeOfParallelism": 5,
                "priority": 100,
                "parameters": {}
            },
            "outputs": [
                {
                    "name": "TransformedData2"
                }
            ],
            "policy": {
              "delay": "02:00:00" // <<<<< 2:00am start
            }, 
            "scheduler": {
                "frequency": "Day",
                "interval": 1,
                "style": "StartOfInterval"
            },
            "name": "Brajan filtering",
            "linkedServiceName": "AzureDataLakeAnalyticsLinkedService"
        }
    ],
    "start": "2017-07-02T09:50:00Z",
    "end": "2018-06-30T03:00:00Z",
    "isPaused": false,
    "hubName": "datafactoryfin_hub",
    "pipelineMode": "Scheduled"
}

然后,您当然需要在凌晨3:00和凌晨4:00版本上进行其他活动。

点击此链接了解更多信息:

https://docs.microsoft.com/en-us/azure/data-factory/data-factory-scheduling-and-execution

延迟被提及约四分之一的页面。

希望这有帮助