kettle从入门到精通 第二十六课 再谈 kettle Transformation executor
1、前面文章有学习过Transformation executor ,但后来测试kettle性能的时候遇到了很大的问题,此步骤的处理性能太慢,导致内存溢出等问题。所以再次一起学习下此步骤的用法。
2、 如下图中rds-sametable-同步逻辑处理使用的是Transformation executor步骤,最后Speed 列表示处理速度,很明显440 远远小于上有步骤kafka的处理速度1567,此处就是瓶颈。
3、非常重要的一个性能属性配置Row grouping,如下图所示:
Number of rows to send to transformation:
指定一个数字,表示每N行数据执行一次任务,并将这N行数据传递给转换步骤进行处理。这里默认是1,表示一笔一笔的处理,速度非常慢,可以根据自己的要求设置大一点的数,如100,但是如果数据达不到100条,会一直等待直到数据满100条才会进行处理。
Field to group rows on
指定一个用于分组行的字段。只要字段值保持不变,行将被收集到同一组中。如果值发生变化,将执行转换步骤,并将累计的行传递给转换处理。
Duration time when collecting rows
请指定一个毫秒级的时间。这个值表示在执行转换之前,步骤将花费多少时间来收集行数据。这个参数也尝试用过但未达到效果,有使用过的朋友可以@我交流。
总结: Number of rows to send to transformation 参数设置大些,可以提高性能。
![](https://img2023.cnblogs.com/blog/412121/202312/412121-20231222103519587-1213676244.png)