显然,Kettle的文本文件输出步骤不支持并发:如果两个不同的文本文件输出步骤写入同一文件,则不会实现锁定机制,因此,结果输出文件包含由输入源的混合字段产生的(错误的)输出行。任何人都可以向我提供这种行为的确认(如果有信用来源,会更好吗?)
答案 0 :(得分:0)
从书Pentaho Kettle Solutions的第387页开始:
无法并行写入单个文本文件。对于 例如,您不能使用“文本文件输出”的多个步骤副本 步骤写入相同的输出文件。如果你试试,结果就是a 混合文件的行和字段最终位于错误的位置。 此问题只能通过高级锁定算法来解决 这反过来又会降低单一的并行度 线。但是,简单的解决方案是写入多个输出 文件。
答案 1 :(得分:0)
当您通过多个“文本文件输出”步骤写入相同的文件时,就像文件由具有单独上下文的两个单独程序访问。因此,Pentaho在这种情况下当然不会处理并发问题。 “文本文件输出”中的文件写入功能虽然是同步的,但它在单个上下文中处理并发。