【实验目的】
1.利用Kettle的“阻塞数据直到步骤都完成”,“检测空流”,“中止”等组件,实现Kettle转换流程的控制。
2.熟练掌握“阻塞数据直到步骤都完成”,“检测空流”,“中止”等组件的使用,实现Kettle转换流程的控制。
【实验原理】
“检测空流”组件可以检测所在转换的输入数据,如果整个转换没有输入数据,通过“中止”组件终止整个转换的流程。在存在数据输入的情况,为了能让数据输出,需要和“阻塞数据直到步骤都完成”配合使用。当所有数据都已经从上个步骤“字段选择”读取完毕后,通过“阻塞数据直到步骤都完成”使能打开数据通道,进入到“Microsoft Excel 输出”输出数据到表格。
【实验环境】
操作系统:Windows10
Kettle版本:7.1.0.0
jdk版本:1.8.0及以上版本
【实验步骤】
一、建立转换
双击spoon.bat打开kettle。(1)点击新建按钮,在下拉菜单中点击选择“转换”即可创建;(2)然后点击“保存”重命名该转换文件,保存在某个指定的路径;(3)选择输入步骤、输出步骤和跳。
二、各组件的配置
1.“Excel输入”的配置
Step1:双击‘Excel输入’组件,配置‘文件’选项卡,设置输入数据流和输入路径
Step2:配置‘工作表’选项卡,设置输入文件的起始行和起始列
Step3:配置‘字段’选项卡,设置输入数据的字段名称和数据类型
2.“字段选择”的配置:
双击“字段选择”组件,点击‘获取选择的字段’获取期望的字段(可删除不必要的字段)
3.“检测空流”的配置:
双击‘检测空流’组件,查看相关配置信息,点击确定即可
4.“阻塞数据直到步骤都完成”的配置:
双击‘阻塞数据直到步骤都完成’组件,选择监视的步骤,点击确定即可
5.“中止”的配置:
双击‘中止’组件,确定中止记录值,并勾选‘总是记录行’
6.“Microsoft Excel 输出”配置
Step1:配置‘文件&工作表’选项卡,选取输出文件的名称、类型以及路径
Step2:配置‘字段’选项卡,获取字段并设置其类型(多余的字段可以删除)
三、执行转换
点击按钮,执行转换,结果如下:
四、实验结果:
1.正常的输出结果:
输入文件‘课程信息表.xlsx’:
输出文件‘test7_2.xls’:
2.异常情况输出结果:
Step1:异常输入数据:当配置“Excel输入”步骤读入一个不存在的数据EXCEL表格时,将会触发“检测空流”组件检测到空数据,通过“中止”组件终止整个流程。“Excel输入”步骤配置如下:
Step2:异常输出数据:整个转换终止,“Microsoft Excel 输出”步骤无数据输出。程序运行记录如下,提示中止信息,执行结果如下:
五、实验总结
本次实验的目的主要是理解并实施使用“检测空流”组件可以检测所在转换的输入数据,如果整个转换没有输入数据,通过“中止”组件终止整个转换的流程的思想,以及在数据输入存在的情况,使用“阻塞数据直到步骤都完成”组件配合,使得当所有数据都已经从上个步骤“字段选择”读取完毕后,通过“阻塞数据直到步骤都完成”使能打开数据通道,最终实现输出的过程。