Kettle04:Kettle转换控件

本章讲解如下几种转换组件案例:
01 Concat fields
02 值映射
03 增加常量
04 增加序列
05 字段选择
06 计算器
07 字符串-剪切-操作-替换
08 去除重复记录+排序记录
09 唯一行(哈希值)
10 拆分字段
11 列拆分为多行
12 列转行
13 行转列
14 行扁平化

1.Concat fields

转换

转换是转换里面的第四个分类。
转换属于ETL的T,T就是Transform清洗、转换。
ETL三个部分中,T花费时间最长,是“一般情况下这部分工作量是整个ETL的2/3。



Concat fields

Concat fields就是多个字段连接起来形成一个新的字段。




案例:

从Excel中获取FirstName和LastName并把FirstName和LastName连接起来,输出到Excel
分析:
输入:表输入
转换:Concat fields
输出:Microsoft Excel输出


2.值映射

值映射就是把字段的一个值映射成其他的值。

在数据质量规范上使用非常多,比如很多系统对应性别gender字段的定义不同。
系统1:1 男、2女
系统2:f 男、m 女
数据仓库统一为:female 男、male女




案例:
从Excel中读取数据,并把gender里面的f和m转换为female和male,写入到Excel文件
分析:
输入:Excel输入
转换:值映射
输出:Microsoft Excel输出


3.增加常量

增加常量

增加常量就是在本身的数据流里面添加一列数据,该列的数据都是相同的值。



案例:
从Excel读取数据,增加一个新列language值为en,把数据保存在Excel中
分析:
输入:Excel输入
转换:增加常量
输出:Microsoft Excel输出


4.增加序列

增加序列

增加序列是给数据流添加一个序列字段。





案例:
从Excel读取数据,并添加序列,把数据保存到Excel
分析:
输入:Excel输入
转换:增加序列
输出:Microsoft Excel输出


5.字段选择

字段选择

字段选择是从数据流中选择字段、改变名称、修改数据类型。





案例:
从Excel读取数据,移除language和country,并把phone列名该为telphone,id列名改为key,把gender列名该为sex
分析:
输入:Excel输入
转换:字段选择
输出:Microsoft Excel输出


6.计算器

计算器

计算器是一个函数集合来创建新的字段,还可以设置字段是否移除(临时字段)。




案例:
从Excel中读取数据,生成name,quarter,week_of_day,account列,把数据存在到Excel中间中
分析:
输入:Excel输入
转换:计算器
输出:Microsoft Excel输出


7.字符串-剪切-操作-替换

剪切字符串

剪切字符串是指定输入流字段裁剪的位置剪切出新的字段。


字符串替换

字符串替换是指定搜索内容和替换内容,如果输入流的字段匹配上搜索内容就进行替换生成新字段。


字符串操作

字符串操作是去除字符串两端的空格和大小写切换,并生成新的字段。






案例:
从Excel中读取数据,获取title的首位字符,生成title_begin字段,把description中的1111替换为itheima生成desc字段,去除author两边的空格,字符变大写,生成author_update,保存到Excel
分析:
输入:Excel输入
转换:剪切字符串、字符串替换、字符串操作
输出:Microsoft Excel输出


8.去除重复记录+排序记录

去除重复记录

去除重复记录是去除数据流里面相同的数据行。
注意:必须先对数据流进行排序!


排序记录

排序记录是按照指定的字段的升序或降序对数据流排序。



案例:
从Excel中读取数据,去除重复的数据,并保存到Excel
分析:
输入:Excel输入
转换:排序记录、去除重复记录
输出:Microsoft Excel输出


9.唯一行(哈希值)

唯一行(哈希值)

唯一行(哈希值)就是删除数据流重复的行。
注意:唯一行(哈希值)和(排序记录+去除重复记录)效果一样的,但是实现的原理不同!
唯一行(哈希值)执行的效率会高一些!



案例:
从Excel中读取数据,去除重复的数据,并保存到Excel
分析:
输入:Excel输入
转换:唯一行(哈希值)
输出:Microsoft Excel输出


10.拆分字段

拆分字段

拆分字段是把字段按照分隔符拆分成两个或多个字段。
注意:拆分字段后,原字段就不存在于数据流中!



案例:
从Excel读取数据,把name拆分为FirstName和LastName,并保存数据到Excel
分析:
输入:Excel输入
转换:拆分字段
输出:Microsoft Excel输出


11.列拆分为多行

列拆分为多行

列拆分为多行就是把指定分隔符的字段进行拆分为多行。




案例:
从csv读取数据,把hobby列拆分为多行,并保存在Excel
分析:
输入:CSV文件输入
转换:列拆分为多行
输出:Microsoft Excel输出


12.列转行

列转行

列转行就是如果数据一列有相同的值,按照指定的字段,把多行数据转换为一行数据。
去除一些原来的列名,把一列数据变为字段。
注意:列转行之前数据流必须进行排序!



案例:
从Excel中读取数据,按照姓名进行分组,把星期、工作小时从列转为行,并保存在Excel中
分析:
输入:Excel输入
转换:列转行
输出:Microsoft Excel输出


13.行转列

行转列

行转列就是把数据字段的字段名转换为一列,把数据行变为数据列。




案例:
从Excel读取数据,把星期工作小时行转为星期列和工作小时列,把数据保存到Excel
分析:
输入:Excel输入
转换:行转列
输出:Microsoft Excel输出


14.行扁平化

行扁平化

行扁平化就是把同一组的多行数据合并成为一行。
注意:
只有数据流的同类数据数据行记录一致的情况才可使用!
数据流必须进行排序,否则结果会不正确!




案例:
从Excel读取数据,把数据进行行扁平化处理,存储在Excel
分析:
输入:Excel输入
转换:排序记录、行扁平化
输出:Microsoft Excel输出


你可能感兴趣的:(Kettle04:Kettle转换控件)