2017-07-02 55 views
1

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

我红色的documentation它写道我应该考虑偏移参数在数据集模板中。但是,当我尝试设置此发生以下错误: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" 
} 

}

感谢

回答

3

使用偏移属性会变得有点混乱,因为您需要在数据集级别重新设置时间片。

作为一种替代方案,我建议使用延迟属性at作为活动。这提供了更多的控制权,并且不需要时间片重新供应。

在你的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

延迟提及的一路下跌的页面的四分之一。

希望这有助于

+0

当我添加一个延迟参数并重新部署管道时,会发生错误:_Input格式错误。原因:batchPipelineRequest.scheduler.delay:无法在类型为'PeriodicTimeSlicer'的对象上找到成员'延迟'。 Path'scheduler.delay'_ –

+1

抱歉,延迟属性实际上属于策略块,而不是调度器。这让我困惑,因为它从你的JSON中失踪了。上面编辑。 –