ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-10-12 20:59:41  阅读:172  来源: 互联网

标签:文件 NULL 单击 控件 kettle people 所示 如图 csv


(1)完全去重

1、数据准备;

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

 图1

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

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

图2

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

 

图3 

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

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

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

图4

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

5、运行转换完全去重,效果如图5所示:

wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==​图5

图6 

(2)填充缺失值

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

图7

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

图8

 图9

图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所示:

图11 

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

图12 

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

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

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

图13 

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

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

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

 图14

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

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

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

图15 

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

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

图16 

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

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

 图17

图18 

 

标签:文件,NULL,单击,控件,kettle,people,所示,如图,csv
来源: https://blog.csdn.net/weixin_49005028/article/details/120728951

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有