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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • MySQL 8.0修改密码_oracle和mysql区别

    MySQL 8.0修改密码_oracle和mysql区别1、mysql-uroot-p’原来的密码’ //进入数据库中2、showdatabases;3、usemysql;4、使用下面的语句修改密码:  ALTERUSER’root’@’localhost’IDENTIFIEDWITHmysql_native_passwordBY’你的密码’;    ALTERUSER’root’@’lo…

    2022年8月12日
    3
  • oracle分页查询的三种常见方式

    oracle分页查询的三种常见方式oracle分页查询的三种常见方式分页写法:–分页查询一select*from(selectrownumr,e1.*from(select*fromemporderbysal)e1whererownum<=8)wherer>=5;–分页查询二selecte1.*from…

    2022年5月8日
    46
  • DelphiXE7取代默认的ActionList编辑器

    DelphiXE7取代默认的ActionList编辑器DelphiXE7取代默认的ActionList编辑器。其他XE版本应该可以用。Delphi5或7需要修改代码。默认的编辑器只能看到Action的名称,不能看到标题,因此做了这个编辑器。增加了以下功能:1、ListView显示Action的标题,图标,快捷键。2、Action自动命名的尾部序号宽度为3位数字。3、快速选择标准Action。4、收藏Action。代码修改自ECont…

    2022年8月30日
    3
  • 潜意识的牢笼——为什么这件事情这么难

    潜意识的牢笼——为什么这件事情这么难

    2021年8月26日
    59
  • 人生就是一场康波「建议收藏」

    人生就是一场康波「建议收藏」理论创建人–周金涛2016年3月16日,中信建投首席经济学家周金涛先生参加由上海清算所等举办的第30期清算所沙龙——“2016年债务融资工具专题”活动。在沙龙活动中,周期天王周金涛先生阐述了康波经济周期理论对宏观经济走势的研判,以下是演讲实录。60年的经济周期:人生有三次财富机会重要经济周期理论开创者是两个,第一个康波周期,实际上它是全球经济运动的决定力量,也是在座各…

    2022年10月22日
    0
  • 服务器查看外网IP地址和方法

    服务器查看外网IP地址和方法返回IP地址curlip.6655.com/ip.aspxcurlwhatismyip.akamai.comwget-qO-ifconfig.cocurlicanhazip.comdig+shortmyip.opendns.com@resolver1.opendns.comcurlident.mecurlv4.ident.mecurlcu…

    2022年5月30日
    52

发表回复

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

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