关于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

 

posted @ 2015-06-11 16:52  galaxy-gao  阅读(11410)  评论(0编辑  收藏  举报