******************************* 本专栏由黎老湿独家创作,一家之言,不喜勿喷 *******************************
Kettle支持多种循环方式,下面一一说明。
1、对一个集合(数组)进行循环
// Java伪代码
for(String element: elements){
// do something
}
--Kettle实现方法:
一个作业,包含2个步骤。
第1个步骤读取集合,最后一个控件是“Copy rows to result”,
第2个步骤针对集合中的单条记录做处理,同时指定“对每个输入行执行一次”
案例:file.txt文件存放着3个文件名,需要把这3个文件的相关信息(文件名、文件大小、创建时间)输出到result.txt
2、循环10次
// Java伪代码
for(int i=0; i<10; i++){
// do something
}
// 等同于下面的代码
int i = 0;
while(i < 10)
// do something
i++;
}
--Kettle实现方法:
设置变量 + JS控件做自增 + 判断
3、while循环(通过条件判断)
// Java伪代码
while(条件成立)
// do something
// 控制条件变化
}
--Kettle实现方法:
实现方式跟上面方法2是一样的操作,但是不再使用JS控件作为条件判断,而是使用“Job -> Conditions -> 条件控件”来判断
思路如下: