一、对文件进行完全去重
1.打开kettle工具,新建转换
使用kettle工具创建转换repeat_trnsform,并添加“CSV文件输入”控件、“唯一行(哈希值)”控件以及Hop跳连接线。
图1
2.配置“CSV文件输入”控件
双击“CSV文件输入”控件,进入“CSV文件输入”界面。
图2
单击“浏览”按钮,选择要进行完全去重处理的CSV文件。
图3
单击“获取字段 ”按钮,kettle会自动检索CSV文件,并对文件中的字段类型,格式,长度,精度 等属性进行分析。
图4
单击“预览”按钮,查看CSV文件的数据是否加载到CSV文件输入流中。
图5
从图5中可以看出,CSV文件的数据已经成功抽取到CSV文件输入流中,单击“关闭”➡️“确认”按钮,完成“CSV文件输入”控件的配置。
4.配置“唯一行(哈希值)”控件
双击图1中的“唯一行(哈希值)”控件,进入“唯一行(哈希值)”界面。
图6
在图6中的“用来比较的字段”处添加要去重的字段,这里可以单击“获取”按钮添加需要去重的字段。
图7
单击“确定”,完成配置。
5.运行转换repeat_transform
单击转换工作区顶部的▶️按钮,运行创建的转换repeat_transform,实现消除CSV文件中完全重复的数据。
图8
选中“唯一行(哈希值)”控件,单击执行结果窗口的Preview data选项卡,查看是否消除CSV文件中完全重复的数据。
图9
从图中可以看出,CSV文件中的数据已经没有了完全重复的值
说明通过kettle工具实现了消除完全重复数据的功能。
二、对文件的缺失值进行填充
1.打开kettle工具,创建转换。
使用kettle工具创建fill_missing_value,并添加“文本文件输入”控件、“过滤记录”控件、“空操作(什么也不做)”控件、“替换NULL值”控件、“合并记录”控件、“字段选择”控件以及Hop跳连接线。
图1
2.配置“文本文件输入”控件
双击“文本文件输入”控件,进入“文本文件输入”界面。
图2
单击“浏览”按钮,选择要填充缺失值的文件。
图3
单击“增加”,将要填充缺失值的文件添加到“文本文件输入”控件中。
图4
单击“内容”选项卡,切换到此界面。
图5
清除分隔符处的默认分隔符“;”,单击Insert TAB按钮,在分隔符处插入一个制表符;取消勾选“头部”复选框。
图6
单击“字段”选项卡,切换到此界面。
图7
根据文件内容添加对应的字段,并指定数据类型,添加的字段都应选择“不去掉空格”。
图8
单击“预览记录”,查看数据是否成功抽取。
单击“关闭”➡️“确定”,完成配置。
4.配置“替换NULL值”控件
双击“替换NULL”控件,进入界面。
图9
勾选“选择字段”复选框,并在“字段”框添加字段hours_peer_week,值替换为44。
图10
单击“确定”按钮,完成配置。
图11
5.配置“合并记录”控件
双击“合并记录”控件,进入界面。
图12
在“旧数据源:”后的下拉列表中选择“替换NULL值”,在“新数据源:”后的下拉列表中选择“空操作(什么也不做)2”;在“匹配的关键字:”部分添加关键字段userid。
图13
单击“确定”按钮,完成配置。
6.配置“替换NULL值2”控件
双击“替换NULL值2控件,进入界面。
图14
勾选“选择字段”复选框,并在“字段”框添加字段workclass,值替换为Private。
图15
单击“确定”按钮,完成配置。
配置“字段选择”控件,进入“选择/改名值”界面。
图16
在图中的“移除”选项卡界面中添加要移除的字段名称。
图17
单击“确定”按钮,完成配置。
8.运行转换fill_missing_value
单击转换工作区顶部的▶️按钮,运行创建的转换,实现填充文件的缺失值。
图18
单击“字段选择”的控件,再单击执行结果窗口的Preview 打他选项卡,查看是否填充了文件的缺失值。
图19
从图中可以看出,文件中不存在缺失值数据了,说明通过kettle工具实现了缺失值的填充。