使用kettle转换工具实现数据的完全去重和缺失值的填充

1.文件的完全去重

打开kettle创建一个转换并命名为repeat_transform。添加"CSV文件输入”和“唯一行(哈希值)”控件。如下图。

 双击“CSV文件输入”进入界面,单击“浏览”选择所要处理的文件。单击“获取字段”,kettle将自动检索csv文件,并对文件中的字段类型、格式、长度、精度等属性进行分析。如下图

 单击“预览”查看处理的文件是否加载到csv文件输入流中,如果出现以下见面则加载成功。

 点击“确定”完成“csv文件输入”控件的配置。

双击“唯一行(哈希值)”控件进入界面。单击“获取”添加所要去重的字段。如下图

 点击“确定”完成该控件的配置。

运行都出现已完成即可。如下图

 单击“Preview data”查看是否消除所要处理文件中完全重复的数据。如下图

 2.填充缺失值

使用kettle创建一个转换并命名为fill_missing_value。添加以下图片中的八个控件。

 并按上图建立节点连接。

双击“文本文件输入”进入界面配置,单击“浏览”选择所要处理的文件,再单击增加。具体效果如图所示。

 点击”内容“选项卡,去除分隔符处的默认分隔符”;“,单击”Insert TAB“按钮,在分隔符处插入一个制表符;取消头部勾选,完成内容选项卡的配置。如下图。

 单击“字段”,根据文件添加对应字段名称,数据类型,选择“不去掉空格”,否则在抽取数据操作时会把制表符当做空格去掉,而不能把制表符作为分隔符实现文本文件内容的分隔,如下图。guo

 单据“预览”可查看数据是否抽取成功。单击确定完成“文本文件输入”控件的配置。

双击“过滤纪录”进入界面的配置。在条件处设置过滤的条件,可以将过滤字段设置为workclass,过滤值设置为Private,“发送给true数据步骤:”选择“空操作(什么也不做)”控件,“发送给false数据步骤:”选择“空操作(什么也不做)2”控件。完成该控件的配置。如下图。

双击“替换NULL值”控件进入界面的配置,勾选“选择字段”,字段选择“hours_per_week”替换值为均值“44”,点击确定完成该控件的配置。如下图。

 双击“合并纪录”按下图配置,关键字段“userid”。完成后点击确定。

双击“替换NULL值2”进入控件界面的配置,勾选“选择字段”。字段选择“workclass”,替换值为“Private”。点击确定完成配置。如下图。

 双击“字段选择”进入界面进行配置。点击“移除”添加要移除的字段名称。这里移除的字段是“flagfield”。点击确定完成配置。如下图。

 运行,如下图。所有的控件都已完成。

 单击“Preview data”,查看查看是否填充了所处理文件的缺失值。如下图。

 文件中已经不存在缺失值数据了,这样就通过kettle完成了缺失值的填充。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值