簡體   English   中英

如何鏈接 Azure 數據工廠管道

[英]How to chain Azure Data Factory pipelines

我有一個帶有多個管道的數據工廠,每個管道有大約 20 個復制活動來在 2 個存儲帳戶之間復制 azure 表。

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

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

無論如何我可以知道管道已完成或無論如何一個管道完成狀態觸發下一個管道?

在 Activity 中, inputs是一個數組。 那么是否可以提供多個輸入? 如果是,所有輸入將異步運行還是一個接一個地運行?

在多個輸入的上下文中,我已經閱讀了有關調度依賴的內容。 那么外部輸入可以作為調度依賴還是僅作為內部數據集?

這是一個舊的,但我仍然遇到 datafactory 2 的這個問題,所以如果有人來這里尋找 datafactory 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

選項 2

打破 PowerShell 並使用更高級別的東西來控制它。

例如,使用Get-AzureRmDataFactoryActivityWindow檢查第一個管道狀態。 然后,如果完成,請使用Set-AzureRmDataFactorySliceStatus將第二個管道數據集更新為就緒。

或者

使用Suspend- Azure Rm Data Factory Pipeline在管道級別執行此操作

有關 ADF PowerShell cmdlet 的更多信息,請訪問: https : //docs.microsoft.com/en-gb/powershell/module/azurerm.datafactories/Suspend-AzureRmDataFactoryPipeline? view = azurermps-4.0.0

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

希望這可以幫助。

在管道的所有輸出數據集都處於就緒狀態(管道成功完成時發生)之后,管道就完成了。

此外,一個管道可以有來自多個管道的多個數據集作為輸入(也輸出)。 在這種情況下,只有在所有先前的管道成功完成后,管道才會啟動。 如果您有更多管道的數據集作為輸入,它們將異步運行,具體取決於它們的計划。

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

在多個輸入的上下文中,我已經閱讀了有關調度依賴的內容。 那么外部輸入可以作為調度依賴還是僅作為內部數據集?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM