![](/img/trans.png)
[英]Azure Data Factory Data Flow - Parquet, Schema and Data Type "Any"
[英]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.