kettle_06 转换控件的使用
转换控件的作用:从原数据中获取想要的数据
通过kettle的输入控件,把数据输入到kettle中。但是,原数据一般情况下不是最终想获得的数据。所以要对原数据进行处理。把想要的数据转换成符合要求的数据。
输入和输出的过程前面已经介绍过了,下面不在详细演示。关于输入输出,有疑问的请移步:kettle_05 输入和输出
目录
1、concat fields
2、值映射
3、增加常量
4、增加序列
5、字段选择
6、计算器
7、字符串–》剪切–》替换
8、去除重复记录+排序记录
9、唯一行(哈希值)
10、拆分字段
11、列拆分为多行
12、列转行
13、行转列
14、行扁平化
1、concat fields
输入文件 目的:将文件中的First Name和LastName合并为name字段
1)新建转换,在工作区建立如图所示流程
2)完成输入后点击,concat fields。
3)编辑microsoft excel输出
保存转换,点击运行。
查看输出文件
2、值映射
输入数据 目的:将gender字段的值f映射为female,m映射为male
1)新建下图转换,完成输入步骤。点击值映射。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
3、增加常量
输入数据 目的:在原数据的基础上增加language字段,值为en
1)新建下图转换,完成输入步骤。点击增加常量。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
4、增加序列
输入数据 目的:在原数据的基础上增加字段id,值为从1开始递增的数字
1)新建下图转换,完成输入步骤。点击增加序列。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
5、字段选择
输入数据
目的: I、将字段id的名称修改为key,字段gender的名称修改为sex。
II、移除字段language和country
III、将字段phone的名称修改为telephone,并将字段值的类型修改为String
1)新建下图转换,完成输入步骤。点击字段选择。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
6、计算器
输入数据
目的: I、根据birthday的值计算其所处的季度,将结果保存到quarter字段中并添加到输出的文件中
II、根据birthday的值计算 当天是星期几,将结果保存到week_of_day字段中并添加到输出的文件中
III、根据working_life和yearly_salary计算总的工资,将结果保存到account字段中并添加到输出的文件中
1)新建下图转换,完成输入步骤。点击计算器。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
7、字符串–》剪切–》替换
输入数据
目的: I、剪切title字段,获取title字段的首字母,保存在title_begin字段中
II、将description字段中的11111字符替换为kettle,保存到desc字段中
III、去除author字段两端的空格,保存到author_update字段中
1)新建下图转换,完成输入步骤。点击剪切字符串。
2)点击字符串替换
3)点击字符串操作
4)点击编辑microsoft excel输出
5)保存转换,点击运行。查看输出文件。
8、去除重复记录+排序记录
输入数据 目的:去除原数据中重复的记录,并按id升序排序
1)新建下图转换,完成输入步骤。点击排序记录。
注意:必须先进行排序,才能去除重复记录。
原理:在相邻两行记录之间进行比较删除重复数据。所以必须先排序。
2)点击去除重复记录
3)点击编辑microsoft excel输出
4)保存转换,点击运行。查看输出文件。
9、唯一行(哈希值)
输入数据 目的:去除重复的数据
原理:根据哈希值进行去重操作,不必排序,效率会高一些
1)新建下图转换,完成输入步骤。点击唯一行(哈希值)。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
10、拆分字段
输入数据 目的:将name拆分为Firstname和Lastname两个字段
1)新建下图转换,完成输入步骤。点击拆分字段。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
11、列拆分为多行
输入数据 目的:将hobby字段中的多条数据拆分,保存在hobby_type字段中,是每行记录只包含一个数据。
1)新建下图转换,完成输入步骤。点击列拆分为多行。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
12、列转行
输入数据 目的:将数据转换成横向为星期,纵向为姓名的表格
1)新建下图转换,完成输入步骤。点击排序记录。列转行之前要先进行排序。
2)点击列转行
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
13、行转列
输入数据
1)新建下图转换,完成输入步骤。点击行转列。
2)点击编辑microsoft excel输出
3)保存转换,点击运行。查看输出文件。
14、行扁平化
输入数据 目的:将id和name相同的记录合并为一条记录,将hobby中的值分别添加到记录中。
1)新建下图转换,完成输入步骤。点击排序记录。
2)点击行扁平化
3)点击编辑microsoft excel输出
4)保存转换,点击运行。查看输出文件。
今天就到这里了