【Kettle】Kettle专栏:第3章:几种循环方式在Kettle中的实现

*******************************    本专栏由黎老湿独家创作,一家之言,不喜勿喷    *******************************

Kettle支持多种循环方式,下面一一说明。

 

1、对一个集合(数组)进行循环

// Java伪代码
for(String element: elements){
    // do something
}

--Kettle实现方法:

一个作业,包含2个步骤。

第1个步骤读取集合,最后一个控件是“Copy rows  to result”,

第2个步骤针对集合中的单条记录做处理,同时指定“对每个输入行执行一次”

案例:file.txt文件存放着3个文件名,需要把这3个文件的相关信息(文件名、文件大小、创建时间)输出到result.txt

【Kettle】Kettle专栏:第3章:几种循环方式在Kettle中的实现_第1张图片

 

2、循环10次

// Java伪代码
for(int i=0; i<10; i++){
    // do something
}


// 等同于下面的代码
int i = 0;
while(i < 10)
    // do something
    i++;
}

--Kettle实现方法:

设置变量 + JS控件做自增 + 判断

【Kettle】Kettle专栏:第3章:几种循环方式在Kettle中的实现_第2张图片

 

3、while循环(通过条件判断)

// Java伪代码
while(条件成立)
    // do something
    // 控制条件变化
}

--Kettle实现方法:

实现方式跟上面方法2是一样的操作,但是不再使用JS控件作为条件判断,而是使用“Job -> Conditions -> 条件控件”来判断

思路如下:

【Kettle】Kettle专栏:第3章:几种循环方式在Kettle中的实现_第3张图片

 

你可能感兴趣的:(Kettle,Kettle,循环)