接着上一讲,讲完了常用的输入、输出控件后,这一节我们来讲下常用的转换控件,如下图:
3、转换
3.1 值映射:将一个数据流的内容,转换成另外的数据流,并输出。作用如同sql语句中的decode函数。
此处用到三个控件,表输入、表输出(可以参考前面的内容)和值映射。三个控件用hop线进行连接。
双击值映射,如上图所示配置好相应的源值和目标值,通过连线从A表连接到B表。运行结果如下:
3.2 列转行:将二维数据流的其中1列数据,转换为行(也就是列转换为行的表头),在根据关键字段进行展示。
此处用到两个控件,表输入(可以参考前面的内容)和列转行。两个控件用hop线进行连接。
双击列转行,如上图所示配置好关键字段、构成分组的字段和目标字段。运行结果如上图步骤4。
3.3 剪切字符串:如同各种数据库的substr函数,用处不大可以忽略。
3.4去除重复记录:根据某个字段进行剔重,类似于sql语句中的distinct
此处用到两个控件,表输入(可以参考前面的内容)和去除重复记录。两个控件用hop线进行连接。
表输入需要先按照比较字段进行排序,如上图所示配置好计数器字段和用来比较的字段。运行结果如上图步骤3
3.5 增加常量、增加序列:增加常量和增加数据库序列
如上图所示,配置好常量值和序列值,即可生成
3.6 字段选择:将上一步骤数据流中的数据进行格式转换(主要用于时间的转换)
此处用到两个控件,表输入(可以参考前面的内容)和字段选择。两个控件用hop线进行连接。
表输入中存在包含时间的字段(可以看到不是按照标注的日期时间格式输出),如下左图,选择cjsj时间进行转换候。运行结果如下右图:
3.7 字符串操作:如同各种数据库的各种字符串处理函数,用处不大可以忽略
3.8 字符串替换:如同各种数据库的replace函数,用处不大可以忽略
3.9 拆分字段:如同各种数据库的split函数,将字段按照分隔符拆分成多个字段
此处用到两个控件,表输入(可以参考前面的内容)和拆分字段。两个控件用hop线进行连接。
拆分字段选择需要拆分的字段、分隔符、和拆分后的字段,点击运行。运行结果如下图:
接着上一讲,讲完了常用的转换控件后,接下来我们来讲下常用的应用控件,如下图:
4、转换
4.1 写日志 可以通过写日志,将上一个数据流中日志信息打印出来,可以设置具体的日志级别
如上图所示,配置好日志头信息,设置好日志级别,打印相应的日志
往期文章:
- ETL工具-KETTLE教程实例实战3----转换
欢迎关注公众号,回复“教程”获取程序源代码,获取例子源码,扫描下方二维码加关注