zoukankan      html  css  js  c++  java
  • ETL工具-KETTLE教程 实例实战4----转换(值映射、列转行,增加常量、增加序列等)

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

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

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

    往期文章:

    欢迎关注公众号,回复“教程”获取程序源代码,获取例子源码,扫描下方二维码加关注

  • 相关阅读:
    ModelViewViewModel 设计模式介绍
    Sliverlight 3 3D 游戏开发学习 第一章:光照、照相机与行为
    【翻译】WF从入门到精通(第十八章):在你的工作流中调用Web服务
    一个能设置验证信息样式的WebTextBox基本验证复合控件
    一个封装了在Ajax下弹出Alert、showModelessDialog、showModalDialog窗口的类
    【翻译】WF从入门到精通(第十一章):并行活动
    测试驱动开发入门
    【翻译】WF从入门到精通(第三章):workflow实例
    【翻译】WF从入门到精通(第九章):逻辑流活动
    关系型数据库与面向对象开发之间的矛盾:学习LINQ有感
  • 原文地址:https://www.cnblogs.com/dalaba/p/12103987.html
Copyright © 2011-2022 走看看