无事来学学--Kettle中转换组件使用

714 阅读3分钟

前言

如果想具体看看转换的概念和特点可以点击之前的博客

1、转换是转换里面的第四个分类。

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

2、Concat fields

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

imageimage

3、 值映射

把字段的一个值映射成其他的值。在数据质量规范上使用非常多,比如很多系统对应性别gender字段的定义不同。

imageimage

4、增加常量

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

image

image

5、增加序列

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

image

image

6、字段选择

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

imageimage

可以选择要移除的字段。

image\

image

可以选择要改变的元数据信息。

image

image

7、计算器

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

image

image

8、剪切字符串

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

imageimage

9、字符串替换

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

image

image

10、字符串操作

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

image

image

11、去除重复记录

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

image\

image

12、排序记录

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

imageimage

13、唯一行(哈希值)就是删除数据流重复的行。

注意:唯一行(哈希值)和(排序记录+去除重复记录)效果一样的,但是实现的原理不同!

image\

唯一行(哈希值)执行的效率会高一些!唯一行哈希值是根据哈希值进行比较的,而去除重复记录是比较相邻两行数据是否一致进行比较的。

image

14、拆分字段

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

image

image

15、列拆分为多行

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

image

image

16、列转行

如果数据一列有相同的值,按照指定的字段,把多行数据转换为一行数据。去除一些原来的列名,把一列数据变为字段。

image\

注意:列转行之前数据流必须进行排序!必须使用排序记录图元哦!
image

17、行转列

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

image

image

18、行扁平化

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

image