【Kettle】性能优化

系统配置优化

修改kettle定时任务中Kitchen与Pan脚本中参数配置,调整JVM大小进行性能优化

Kettle中控件参数配置优化

  1. 调整提交(Commit)记录数大小进行优化
    例如:如修改RotKang_Test01中的“表输出”组件中的“提交记录数量”参数进行优化,Kettle默认Commit数量为:1000,可以根据数据量大小来设置Commit size:1000~50000
  2. 通过改变开始复制的数量(针对查询控件,这种方式比较简单,需要多尝试合理的复制数量)
  3. 在查询的控件中,条件是相等查询的话,可以使用缓存。
    例如:数据库查询中,如果是比较相等,可以勾选使用缓存和从表中加载所有数据。
  4. 合适的添加数据库索引(针对数据库查询控件)
  5. 采用集群方式运行转化,job(针对查询控件、运算控件、排序空间)
  6. 尽量使用数据库连接池
  7. 尽量使用缓存,缓存尽量大一些(主要是文本文件和数据流)
  8. 合理的分区,如果删除操作是基于某一个分区的,就不要使用delete row 这种方式(不管是delete sql 还是delete 步骤),直接把分区drop 掉,再重新创建
  9. 调整记录集合里的记录数
  10. 尽量避免使用update , delete操作,尤其是update,如果可以把update变成先delete, 后insert
  11. 尽量不要用kettle的calculate计算步骤,能用数据库本身的sql就用sql ,不能用sql就尽量想办法用procedure,实在不行才是calculate步骤

Kettle中使用SQL优化

  1. Where子句中的连接顺序
  2. 删除全表是用TRUNCATE替代DELETE。
  3. 尽量多使用COMMIT。
  4. 用EXISTS替代IN。
  5. 用NOT EXISTS替代NOT IN。
  6. 优化GROUP BY。
  7. 有条件的使用UNION-ALL 替换UNION。
  8. 分离表和索引。

版权声明:本文为u013202518原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。