2016-07-04 14 views
0

顯然,文本文件輸出步驟水壺的不支持的併發:如果兩個不同的文本文件輸出步驟寫入到相同的文件中,沒有鎖定機構因此生成的輸出文件包含輸入源的字段混合導致的(錯誤的)輸出行。任何人都可以提供我確認這種行爲(更好的如果有一個信用的來源)?釜(Pentaho的PDI):使用文本文件輸出並行寫

回答

0

從書Pentaho Kettle Solutions的387頁:

寫入並行單個文本文件是不可能的。例如,對於 示例,不能使用「文本文件輸出」 步驟的多個步驟副本寫入相同的輸出文件。如果您嘗試,結果是一個 混合文件,其行和字段以錯誤的位置結束。 這個問題只能通過先進的鎖定算法 來反擊,這又會將線程的並行度降低到一個線程。但是,簡單的解決方案是寫入多個輸出文件 。

+1

您可以在TextFileOutput之前合併流,它們應該匹配行中字段的數量和類型。 – simar

+0

當然。我只是想知道文本文件輸出是否自己實現某種鎖定。謝謝。 – Claudio

0

當您通過多個「文本文件輸出」步驟寫入相同的文件時,它就像文件被具有不同上下文的兩個獨立程序訪問。所以,在這種情況下,Pentaho當然不會處理併發性。 「文本文件輸出」中的文件寫入功能雖然是同步的,但它在單個上下文中處理併發。

相關問題