注:本篇文章参考《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:
下面是步骤内容和预览数据,也就是说这两个字段分别生成一百万条。