ETL工具-KETTLE教程 实例实战4----转换(值映射、列转行,增加常量、增加序列等)

附:Kettle实战视频教程,需要的朋友可以看看学习下哈~~

 

接着上一讲,讲完了常用的输入、输出控件后,这一节我们来讲下常用的转换控件,如下图:

 

 

 

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 写日志 可以通过写日志,将上一个数据流中日志信息打印出来,可以设置具体的日志级别

 

 如上图所示,配置好日志头信息,设置好日志级别,打印相应的日志

 

往期文章:

 

注意:因某些限制,最新源代码和后续通用配置实现数据抽取 已放置在笔者公众号上,请关注微信公众号: 【JAVA大师】, 回复关键字:【KETTLE】,获取kettle安装程序和运行实例(表结构和kjb、ktr文件)

同时笔者原创了一套视频教程:现免费发放100套,先到先得。获得方法:扫描下方二维码,关注获得

img

posted @ 2019-12-26 19:33  Java大师-  阅读(2923)  评论(0编辑  收藏  举报