【实验目的】
1.利用Kettle的“过滤记录”,“字符串替换”,“字符串操作”组件,实现记录的过滤,字符串替换及字符串的去空格功能。
2.熟练掌握“过滤记录”,“字符串替换”,“字符串操作”等组件的使用,实现记录的过滤,字符串替换及字符串的去空格功能。
【实验原理】
通过“过滤记录”对单元格为空的记录进行过滤,然后通过“字符串替换”指定替换单元格中某些特定内容,再通过“字符串操作”实现字符串的去空格功能。
【实验环境】
操作系统: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.“Microsoft Excel 输出”配置
Step1:配置‘文件’选项卡,选取输出文件的名称和类型
Step2:配置‘内容’选项卡,选取输出文件字段名称和类型
三、执行转换
点击按钮,执行转换,结果如下:
四、实验结果:
输入文件‘课程表信息.xlsx’:
输出文件‘test5.xls’:
五、实验过程中遇到的困难
(一)‘Excel输入’组件配置过程中,字段开课时间的数据类型设置为Date,导致程序运行是报错,错误截图如下:
解决办法如下:
(二)过滤记录的设置逻辑错误,导致‘过滤记录’步骤去除空字符串的操作失败,使得最终输出结果中仍然包含空字符串,错误截图如下:
其中,‘过滤记录’组件的配置如下:
解决方法如下:
六、实验总结
本次实验主要目的是在数据清理的过程中对不规范的字符串进行清理,主要涉及字符串替换和字符串操作组件的使用。
实验过程中,因自己的疏忽没有设置好输入流和输入字段的数据类型,导致大部分时间都用来纠错,还有因过滤记录组件对输入数据的筛选不完全,导致最终结果不是期望的数据;个人尽量从错误中积累经验,进一步提高自己能力。