关于Kettle的事务和转换内步骤的顺序执行



关于Kettle的事务和转换内步骤的顺序执行

近来有项目中遇到Kettle事务处理和转换内步骤顺序执行的问题。为此进行了研究,找到了一个解决办法。

在Kettle中,一个Job内的转换,缺省是顺序执行的;一个转换内的步骤,缺省是并行执行的。但是,社区版不支持job内的事务处理,只支持转换内的事务。因此,如果要做顺序操作,且支持事务,需要如下处理:

  1. 根据业务需要,使用“阻塞数据直到步骤都完成”在转换内设置顺序执行的内容;
  2. 设置转换只使用一个事务。转换设置–>杂项–>使用唯一连接。
  3. 设置转换内的表插入等数据库操作不进行批量提交。“提交记录数量” –> 0

下面是我做的一个测试例子,已经测试通过,可以参考。

Author: galaxy

Created: 2015-06-11 Thu 16:49

Emacs 24.4.1 (Org mode 8.2.10)

Validate

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM