【实验目的】
1.利用Kettle的“字段选择”,“JavaScript代码”,“过滤记录”组件,实现数据分流。
2.熟练掌握“JavaScript代码”,“过滤记录”等组件的使用,实现数据分流。
【实验原理】
通过“JavaScript代码”对表格的“讲师”字段进行分组后分流序,然后通过“过滤记录”等组件输出分流后的数据到表格。
【实验环境】
操作系统:Windows10
Kettle版本:7.1.0.0
jdk版本:1.8.0及以上版本
【实验步骤】
一、建立转换
双击spoon.bat打开kettle。(1)点击新建按钮,在下拉菜单中点击选择“转换”即可创建;(2)然后点击保存(3)选择输入步骤、输出步骤和跳。
二、各组件的配置
1.“Excel输入”的配置:
Step1:双击‘Excel输入’组件,配置输入数据的输入流和输入路径
Step2:配置‘工作表’选项卡,设置输入数据的起始行和起始列
Step3:配置‘字段’选项卡,设置字段名称和数据类型
2.“字段选择”的配置:
双击‘字段选择’组件,获取字段
3.“JavaScript 代码”的配置:
双击‘JavaScript代码’组件,编辑分流的依据
4.“过滤记录和2、3、4”的配置:
根据JavaScript代码编写的if else语句条件,作为过滤记录的过滤条件,分别进行设置
5.“Microsoft Excel 输出和2、3、4”的配置:
Step1:配置‘文件’选项卡,分别选取输出文件的名称和类型
Step2:配置‘字段’选项卡,获取字段并设置其类型(多余的字段可以删除)
三、执行转换
点击按钮,执行转换,结果如下:
四、实验结果:
输入文件‘课程信息表.xlsx’:
输出文件‘outfile1.xlsx’:
输出文件‘outfile2.xlsx’:
输出文件‘outfile3.xlsx’:
输出文件‘outfile4.xlsx’:
五、实验过程中遇到的困难
建立转换时,从JavaScript到过滤记录的跳选择的是分发,致使输出文件没有结果
建立的转换如下:
使用如下界面进行调整,最终得到期望的数据:
六、实验总结
本次实验的目的主要是通过“JavaScript代码”组件编写代码筛选条件,对表格的“讲师”字段进行分组后分流,然后通过“过滤记录”等组件输出分流后的数据分别输出到表格中,中间JavaScript代码连接过滤记录的跳是选择分发还是复制一定要仔细想清楚,避免出错。