2017-07-02 39 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中失蹤了。上面編輯。 –