簡體   English   中英

Azure Data Factory ForEach 似乎沒有並行運行數據流

[英]Azure Data Factory ForEach is seemingly not running data flow in parallel

在 Azure 數據工廠中,我使用 Lookup 活動獲取要下載的文件列表,然后將其傳遞給數據流正在處理每個文件的 ForEach

我沒有打開“順序”模式,我假設數據流應該並行運行。 然而,它們的運行時間並不相同,但實際上它們之間的時間幾乎恆定(例如,第一個數據流運行 4 分鍾,第二個 6 分鍾,第三個 8 分鍾等等)。 似乎第二個數據流正在等待第一個數據流完成,然后使用其集群來處理文件。

這是有意的行為嗎? 我在集群集上有 TTL,但這並沒有太大幫助。 如果是,那么解決方法是什么? 我目前正在首先創建文件列表並使用它而不是 ForEach 但我不確定我是否會看到效率的提高

我無法解決並行數據流未並行執行的問題,但是,我設法更改了可以提高性能的解決方案。

之前是什么:一個查找活動將獲取要處理的文件列表,並傳遞給具有數據流活動的 ForEach 循環。

我現在正在測試的是:一個數據流活動,它將獲取文件列表,並將它們保存在 ADLS 中的文本文件中,然后是另一個數據流活動,該活動之前位於 ForEach 循環中,但將其源更改為使用“List of文件”並指向該列表

結果是效率提高了(使用同一個集群,40 個文件使用 ForEach 大約需要 80 分鍾,使用文件列表只需要 2-3 分鍾),但是,現在調試並不容易,因為所有內容都在 1 個數據流中

您可以覆蓋文件列表,或使用動態表達式並將文件命名為 pipelineId 或其他名稱

暫無
暫無

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

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