通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

(1)完全去重

1、数据准备;

2、打开kettle工具,新建转换,如图1所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

 图1

 3、配置“csv文件输入”控件;

双击“csv文件输入”控件,进入“csv文件输入”界面,单击“浏览”按钮,选择要进行完全去重处理的csv文件merge.csv,单击“获取字段”按钮,Kettle会自动检索csv文件,并对文件中的字段、类型、格式、长度、精度等属性进行分析,具体如图2所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图2

在图2中单击“预览”按钮,查看csv文件merge.csv的数据是否加载到csv文件输入流中,具体效果如图3所示:

 通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图3 

从图3可以看出文件merge.csv的数据已经成功抽取到csv文件输入流中,单击“关闭”→“确定”按钮,完成“csv文件输入”控件的配置。

4、配置“唯一行(哈希值)”控件;

双击“唯一行(哈希值)”控件,进入“唯一行(哈希值)”界面,单击“获取”按钮,添加要去重的字段,具体效果如图4所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图4

单击图4中的确定按钮,完成“唯一行(哈希值)”控件的配置。

5、运行转换完全去重,效果如图5所示: 通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。​图5

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图6 

(2)填充缺失值

1、打开kettle工具,创建转换,如图7所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图7

2、配置“文本文件输入”控件,具体效果如图8所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图8

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

 图9

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图10 (预览记录)

通过预览记录可以看出,文件people_survey.txt的数据已经成功抽取到文本文件输入流中,单击“关闭”→“确定”按钮,完成“文本文件输入”控件的配置。

将字段workclass同为Private值的字段hours_per_week值相加求均值,并用该均值对字段userid中的值为000016的hours_per_week字段存在的缺失值进行填充。

3、配置“过滤记录”控件;

双击“过滤记录”控件,进入:过滤记录“界面,在条件处设置过滤条件,由于可以看出字段userid为000016用户的hours_per_week存在缺失值,而它的workclass字段值为Private,因此可以将过滤字段设置为workclass、过滤值设置为Private作为过滤条件。具体如图11所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图11 

在图11中“发送true数据给步骤:”下拉列表中选择“空操作(什么也不做)”,将workclass字段值为Private的数据放在“空操作”控件中;在“发送false数据给步骤:”后的下拉列表中选择“空操作(什么也不做)2”,将workclass字段值不为Private的数据放在“空操作(什么也不做)2”控件中,具体如图12所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图12 

在图12中单击“确定”按钮,完成“过滤记录”控件的配置。

4、配置“替换NULL值”控件;

双击“替换NULL值”控件,进入“替换NULL值”界面,勾选“选择字段”复选框,并在“字段”框添加字段hours_per_week,值替换为44(44是字段为hours_per_week中所有值相加求的均值这里指用44替换字段hours_per_week中的NULL值),具体如图13所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图13 

在图13中单击“确定”按钮,完成“替换NULL值”控件的配置。

5、配置“合并记录”控件;

进入“合并记录”控件,进入“合并行(比较)”界面,在“旧数据源:”后的下拉列表中选择“替换NULL值”,在“新数据源:”后的下拉列表中选择“空操作(什么也不做)2”;在“匹配的关键字:”部分添加关键字段,即userid,具体如图14所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

 图14

在图14中单击“确定”按钮,完成“合并记录”控件的配置。

6、配置“替换NULL值2”控件;

进入“替换NULL值”界面,勾选“选择字段”复选框,并在“字段”框添加字段为workclass,值替换为Private(这里用Private替换字段workclass中的NULL值),具体如图15所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图15 

7、配置“字段选择”控件;

进入“选择/改名值”界面,在“移除”选项卡界面中添加要移除的字段名称,这里移除的是字段flagfield,如图16所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图16 

在图16中单击“确定”按钮,完成“字段选择”控件的配置。

8、运行转换,效果如图17所示:

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

 图17

通过kettle工具,实现以下功能:(1)对文件merge.csv进行完全去重。(2)对文件people_survey.txt中的缺失值进行填充。

图18 

 

上一篇:【手把手带你刷Leetcode力扣】1.算法 - 双指针


下一篇:mysql--索引、