转换
普通开发机,若无网络查询类步骤(HTTP等),KETTLE正常速度在3000-20000条/秒。若速度在2000条/秒以下,则需要调优。
容易产生性能问题的步骤:
1、查询类:数据库查询、数据库连接、http get/post,web service、插入/更新
2、运算类:格式转换、复杂计算:Javascript,计算器
3、排序类:排序、合并连接、分组
调优方法:Rowset,两个步骤间的缓存。通过Rowset需要找出性能瓶颈的步骤。
提高瓶颈的步骤:合适的数据库索引、增加复制数、加大缓存、集群、更改其他实现方法:Javascript使用Java类或插件。
注意日志级别、注意死锁问题:数据库死锁(读写同一张表)
;转换本身死锁。
作业
执行顺序:
串行:深度优先遍历。
并行:各个子树同时执行。
作业循环:
1、计数循环:有固定次数的循环,类似for循环。
法一:使用字段,通过“拷贝结果”和“读取结果”传递参数(执行每一个输入行)。
法二:使用转换作业项的参数。
法三:使用变量,每次变量加1.
2、条件循环:不固定次数的循环,类似while循环。
使用作业里的条件类作业项,设置变量,通过变量判断。
方法:
①使用控制表,进行调度。
②执行前面传来的每一行,作为命令行参数。
③正确和错误都发送邮件。
④心跳检测:write to log。