从官方例子入手 (详解数据清洗)——kettle实战(5)

本文深入解析Kettle中的数据清洗,通过Calculator步骤进行数据转换,如ISO8601星期和年份数字处理、大小写转换。接着探讨Replace in string步骤的字符串替换功能,以及Fuzzy match步骤的模糊匹配算法,如Damerau-Levenshtein和Jaro Winkler。文章结合官方例子,帮助读者理解并应用这些数据清洗技术。
摘要由CSDN通过智能技术生成

注:本篇文章参考《Pentaho Kettle解决方案:使用PDI构建开源ETL解决方案

本书相关源码在可以从本书网站上下载(http://www.wiley.com/go/kettlesolutions

数据清洗步骤

Kettle 里没有单一的数据清洗步骤,但又很多的步骤组合起来可以完成数据清洗的功能。(也可以使用”表输入”步骤里的可自定义的sql语句来做一些清洗工作,只抽取出必要的数据再传递给后面的步骤。但要注意,SQL 语句太复杂会使以后的维护工作比困难。当然我们也可以把数据原样读出来然后使用 Kettle 步骤转换,这里需要用户在效率和维护性之间平衡。)
下面举了两个例子

利用“Calculator(计算器)进行数据清洗工作相关的选项”

  • ISO8601星期和年份数字:美国以外的很多国家使用不同的基于ISO8601标准的星期数字。不是所有的数据库都能从日期类型获得正确的星期和年份数据,所以计算器步骤里的这个功能很有用

  • 大小写转换:首字母大写,全部大写,全部小写可以让字符串的大小写统一。

  • 返回/移除数字:这个功能可以把既包含数字也包含字母的字符串拆分成数字和字母部分。例如,荷兰的邮政编码就是这样的字符串,它包含四位数字和两位字母(如1234AB)

由于实践过后发现此步骤难度不是很大,所以在此不浪费篇幅来描述它。

“Replace in string(字符串替换)”步骤

下面的转换来自于官方的例子:
(…\data-integration\samples\transformations\Replace in string - Simple example.ktr)

这里写图片描述

Generate Rows:


下面是步骤内容和预览数据,也就是说这两个字段分别生成一百万条。

这里写图片描述
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值