该案例是kettle自带例子,位置在安装目录下的data-integration\samples\transformations\JavaScript - create new rows.ktr
转换作用说明:
把一行数据
Group1, Group2, Group3, Group4
转换成四行数据
Group1
Group2
Group3
Group4
组件Generate Rows,输入组件,生成测试数据
组件Dummy (do nothing),空操作,拼接数据流,和Append streams组件具有一样的功能,使用更方便且可以合拼三个以上的数据流,Append streams组件不行
组件Java Script Value,javascript脚本
if (groupsField!=null)
{
//把数据Group1, Group2按照逗号分割,存入数组中
var groups = groupsField.split(",");
//便利数组groups
for (i=0;i<groups.length;i++)
{
//把上一行的数据复制下来,并生成新的一行
newRow = createRowCopy(getOutputRowMeta().size());
var rowIndex = getInputRowMeta().size();
//把数组groups的值赋给新增的字段subgroup
newRow[rowIndex++] = trim( groups[i] );
//把N值赋给字段ignore
newRow[rowIndex++] = "N";
//输出新生成的这行数据
putRow(newRow);
}
}
//声明字段
var subgroup = "";
var ignore = "Y";
createRowCopy,getInputRowMeta,getOutputRowMeta,putRow这个方法也可以在java脚本组件中使用