Kettle(Pentaho PDI):与文本文件输出并发写入

时间:2016-07-04 09:32:37

标签: pentaho kettle pdi

显然,Kettle的文本文件输出步骤不支持并发:如果两个不同的文本文件输出步骤写入同一文件,则不会实现锁定机制,因此,结果输出文件包含由输入源的混合字段产生的(错误的)输出行。任何人都可以向我提供这种行为的确认(如果有信用来源,会更好吗?)

2 个答案:

答案 0 :(得分:0)

从书Pentaho Kettle Solutions的第387页开始:

  

无法并行写入单个文本文件。对于   例如,您不能使用“文本文件输出”的多个步骤副本   步骤写入相同的输出文件。如果你试试,结果就是a   混合文件的行和字段最终位于错误的位置。   此问题只能通过高级锁定算法来解决   这反过来又会降低单一的并行度   线。但是,简单的解决方案是写入多个输出   文件。

答案 1 :(得分:0)

当您通过多个“文本文件输出”步骤写入相同的文件时,就像文件由具有单独上下文的两个单独程序访问。因此,Pentaho在这种情况下当然不会处理并发问题。 “文本文件输出”中的文件写入功能虽然是同步的,但它在单个上下文中处理并发。