kettle工具使用一二三[通俗易懂]

kettle工具使用一二三[通俗易懂]1:关于ID生成器。如果一个转化流程里的两个分支分别使用了GenerateID组件,请注意“计数器名称”,这个很重要。1)如果改名字不同,则最总汇总结果中的id是会分别生成的,也就是说会出现重复的id。2)如果名字相同,最终结果中id是不会重复的。2:关于序列生成器首先抱歉,上面所说的“GenerateID“组件,其实指的就是序列生成器。kettle5.3中包含两个序列生成器组件,一个…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用
1: 关于ID生成器。


如果一个转化流程里的两个分支分别使用了Generate ID组件, 请注意“计数器名称”,这个很重要。


1) 如果改名字不同,则最总汇总结果中的id是会分别生成的,也就是说会出现重复的id。

2) 如果名字相同,最终结果中id是不会重复的。

2:关于序列生成器
首先抱歉,上面所说的“Generate ID“组件,其实指的就是序列生成器。
kettle5.3中包含两个序列生成器组件,一个是”增加序列“,一个是”根据字段值来改变序列“。
1)增加序列
有两种用法:
a. 使用数据库来生成序列。
这种用法是需要连接数据库,如oracle,并且指定一个sequence名。其原理是利用数据库本身的功能来辅助生成序列。
b. 使用转换计数器来生成序列
通常指定一个”计数器名称”,并指定起始值、步进值、最大值三个参数。可见,其用法与在数据库里创建sequence相同。
2)根据字段值来改变序列
这个生成器的核心用法在于, 根据上个步骤的输出流(对生成器来说是输入流)的某一个或几个字段的变化来生成序列。对于输入流,如果指定的某一个或某几个字段的值没有变化,那么序列生成器会从起始值开始,根据规则来生成序列;如果变化了,序列生成器则从起始值重新开始生成序列。

应用场景,参看这样的输入流图例:

kettle工具使用一二三[通俗易懂]

发现”group“字段具有重复性,如果要依据每个不同的group值来重新生成序列,序列生成器的配置可以如下:

kettle工具使用一二三[通俗易懂]

在序列器编辑中,指定”group“字段作为是序列器是否重新从起始值开始的判断依据。

最终生成的数据如下:

kettle工具使用一二三[通俗易懂]

序列生成器的用法解释到此结束。

2:关于分析查询组件(analytic query)
这个组件的作用相当奇特,它可以在一个输入流中根据当前数据行往上回溯或者往下预查询一个数据行(一条记录)中的某些字段的值,回溯或者预查询的位置能以参数的方式指定。
另一个奇特之处在于,它可以在输入流中指定一个或多个字段,然后依据这些字段对输入流中的数据进行分组。依据当前数据行的位置, 回溯或者预查询其它数据行的字段的值时,同时还要参考分组字段的值是否有变化。 如果回溯或者预查询的数据行的分组字段跟当前行不同,那么返回null,否则的话返回确定的值。
以上是该组件的核心用法,需多读并用心理解。
以下举例说明。
测试表简短说明:
一个教师信息表中有rownum字段,代表数据行号; 另一个字段是教师能力Faculty字段(取值01,02,03等)。 很多教师都拥有相同的Faculty值。 

接下来配置分析查询组件,如图:

kettle工具使用一二三[通俗易懂]

在分组字段加入Faculty字段, 然后在“要取值的字段“中指定要回溯或者要预查询的字段名。 ”新增加的字段“的意思是,回溯或者预查询的字段的值将以什么字段名显示在本条数据里。“类型”里要指明是向前还是向后查询,N的意思不用解释了吧,相信聪明的你一定看的懂。

下面给出一个执行的样例:

kettle工具使用一二三[通俗易懂]

上图中,LEAD_SEQ代表向前2行seqence字段的值,LAG_SEQ代表向后两行sequence的值,LEAD4_SEQ代表向前4行sequence的值。 请千万注意该值的变化,有Faculty字段在起作用。

该组件讲解完毕。



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182623.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 原生ajax请求的五个步骤

    原生ajax请求的五个步骤什么是ajax?通过在后台与服务器进行少量数据交换,Ajax可以使网页实现异步更新。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。ajax的优点:1.实现局部更新(无刷新状态下)2.减轻了服务器端的压力ajax的缺点:1.破坏了浏览器前进和后退机制(因为ajax自动更新机制)2.一个Ajax请求多了,也会出现页面加载慢的情况。3.搜索引擎的支持程度比较低。4.ajax的安全性问题不太好(可以用数据加密解决)。注:如果要使用ajax必须要有后端环境的支持(服务器端)。

    2022年5月17日
    183
  • JAVA中Action层, Service层 ,model层 和 Dao层的功能区分

    JAVA中Action层, Service层 ,model层 和 Dao层的功能区分JAVA中Action层, Service层 ,model层 和 Dao层的功能区分

    2022年4月24日
    74
  • android 自己定义通知栏遇到的问题「建议收藏」

    android 自己定义通知栏遇到的问题

    2022年1月21日
    44
  • 有了这 15 款编程游戏,谁都可以学编程!

    有了这 15 款编程游戏,谁都可以学编程!程序员的成长之路互联网/程序员/成长/职场关注阅读本文大概需要5.2分钟。1CodingGames一边玩游戏,一边挑战编程难题。Codinggames支持包括P…

    2022年4月19日
    155
  • mysql中phpmyadmin安装教程_安装phpMyAdmin图文教程

    mysql中phpmyadmin安装教程_安装phpMyAdmin图文教程phpmyadmin的安装配置已经是老生常谈的话题了,网络上到处都可以找到相关的配置教程。但是,那些大多都是手动配置的,稍不留神,容易出错。因此站长今天在这里介绍的是,被很多phpmyadmin用户所忽略的phpmyadmin自带的安装程序,下面我们就开始一步一步来安装phpmyadmin。1、首先下载phpmyadmin3.4.11,这是目前最稳定无bug的版本,点击下载2、在你的web根目录新…

    2022年6月1日
    143
  • mysql截取中文字符_mysql截取字符串函数-Go语言中文社区

    mysql截取中文字符_mysql截取字符串函数-Go语言中文社区目标将rull字段值的0.1g*14粒/1.5mg*30片/100ml(氨甲环酸0.5g:氯化钠0.84g)*1瓶中的mg/g/ml开头的数字取出设置到另外一个字段上去SELECTidfromsheet2whererulllike’%ml%’;SELECTid,count,LEFT(rull,LOCATE(‘g’,rull)-1)fromsheet2w…

    2022年5月5日
    132

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号