Kettle工具下的ETL优化思路 | 数据仓库面试

1、首先找到瓶颈(重现问题;日志)
要知道你的性能瓶颈在哪,可能有时候你使用了不恰当的方式,导致整个操作都变慢,观察kettle log 生成的方式来了解你的ETL操作最慢的地方。

2、排查方向:(1)源->(2)目标->(3)转换顺序一步一步进行优化。

  • 源:对读操作的优化
    读数据量大–>大数据优化?尽量缩小输入的数据集的大小(增量更新也是为了这个目的)
    没有索引
  • 目标:对写操作的优化
    数据库性能本身问题
    写的数据量大–>大数据优化?

    写的目标表索引太多
  • 转换
    可以使用sql 来做的一些操作尽量用sql
    ==> Group , merge , stream lookup ,split field 这些操作都是比较慢的,想办法避免他们,能用sql 就用sql
    分开Update和Insert。尽量避免使用update , delete 操作,尤其是update , 如果可以把update 变成先delete , 后insert .
    3、ETL优化主要还是数据库优化
    数据库优化主要是:配置优化;sql语句优化;表结构优化
    性能优化的原则:
    1)提高操作中最慢部分的速度
  1. 剔除不必要的操作

你可能感兴趣的:(数据仓库)