2017-05-25 74 views
3

我有一個具有多個管道的數據工廠,每個管道都有大約20個複製活動,以在兩個存儲帳戶之間複製azure表。如何鏈接Azure數據工廠管道

每個管道處理每個天藍色表的快照,因此我想按順序運行管道,以避免用舊數據覆蓋最新數據的風險。

我知道給第一個管道輸出作爲第二個管道的輸入,我們可以實現這一點。但是,由於我有許多活動正在籌備中,我不確定哪些活動最後會完成。

是否有反正我可以知道管道已完成或反正一個管道完成狀態觸發下一個管道?

在Activity中,inputs是一個數組。那麼是否有可能提供多個輸入?如果是的話,所有輸入將異步運行或一個接一個運行?

在多個輸入的情況下,我已閱讀有關調度依賴關係。那麼外部輸入可以作爲調度依賴性還是隻有內部數據集?

回答

2

我認爲目前你有兩個選擇來處理這個問題。兩者都不是很理想,但ADF沒有任何理想的現在形式!所以......

選項1

強制執行時間片延遲偏移第二管道活動。如果不重新分配切片並且可以將其添加到活動中,則更容易更改延遲。這不會是事件驅動的,但會給你更多的控制,以避免重疊。

"policy": { 
    "timeout": "1.00:00:00", 
    "delay": "02:00:00", // <<<< 2 hour delay 
    "concurrency": 1, 

檢查此頁面上的這兩個屬性的詳細信息以及在何處使用它們:https://docs.microsoft.com/en-us/azure/data-factory/data-factory-scheduling-and-execution

選項在PowerShell 2

休息和使用的東西,在更高的層次上進行控制。

例如,使用Get-Azure Rm數據工廠活動窗口檢查第一個管道狀態。然後,如果完全使用Set-AzureRmDataFactorySliceStatus將第二個管道數據集更新爲就緒。

OR

在與ADF PowerShell的中止反應天青室數據工廠管道

更多信息管道級別執行此cmdlet的位置:https://docs.microsoft.com/en-gb/powershell/module/azurerm.datafactories/Suspend-AzureRmDataFactoryPipeline?view=azurermps-4.0.0

正如我說的,這兩個選項都不是最理想的,你已經在你的問題中提到了數據集鏈接。

希望這會有所幫助。

0

管道在該管道的所有輸出數據集處於狀態就緒狀態(管道成功完成時發生)後完成。此外,管道可以將來自多個管道的多個數據集作爲輸入(輸出也是)。在這種情況下,只有在所有先前的管道成功完成後,管道纔會啓動。如果你有更多的管道數據集作爲輸入,它們將異步運行,這取決於他們的進度。

外部數據集(輸入)充當調度依賴性,因爲它們可以有自己的(可能不同)可用性。

在多個輸入的情況下,我已閱讀有關調度依賴關係。那麼外部輸入可以作爲調度依賴性還是隻有內部數據集?

相關問題