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


相关推荐

  • FFmepg_ffmpeg下载

    FFmepg_ffmpeg下载FFMpeg0.6版源码下载:来自:http://sourceforge.net/projects/mplayer-win32/files/FFmpeg/FFmpeg-svn-24623.7zffmpeg-r24623.tar.bz2我收集到的相关开发资料:(均来自网络) FFMpeg中apiexample_c例子分析——解码分析.txtffmpeg初级教程.rarff

    2022年9月24日
    2
  • 百度分享到qq空间失败

    百度分享到qq空间失败

    2021年9月19日
    48
  • 数据格式汇总及type, astype, dtype区别「建议收藏」

    数据格式汇总及type, astype, dtype区别「建议收藏」标签(空格分隔):pythonuint8在此输入正文8位的无符号整形数据取值范围从0到255一singed与unsigned的区别二float改变类型643264to32shape翻倍改变类型321632to16shape翻倍改变类型32float32tofloatshape还原float默认是float64改变类型float64intfloat64

    2022年6月11日
    39
  • 用户体验–NPS&满意度指标[通俗易懂]

    用户体验–NPS&满意度指标[通俗易懂]一、NPS1.什么是NPS值?NPS值(NetPromoterScore,净推荐值)是度量“客户向他人推荐某品牌/产品/服务倾向”的指标,是当前国际通用的衡量客户行为忠诚的核心指标,本质上是一种客户口碑及行为忠诚2.为什么要持续监控NPS?通过教育行业调研发现,口碑推荐是用户愿意体验尝试产品的最主要、也是最为信任的渠道,同时也是在促进用户购买决策中起到至关重要的作用,因此要持续监控NPS指标,营造口碑效应3.NPS得分如何获取?目前业务NPS均通过产品化手段实现NPS调研问卷的回收,.

    2022年5月27日
    57
  • SqlBulkCopy – The given value of type String from the data source cannot be converted to type

    SqlBulkCopy – The given value of type String from the data source cannot be converted to typeSqlBulkCopy-ThegivenvalueoftypeStringfromthedatasourcecannotbeconvertedtotypeofthespecifiedtargetcolumn针对使用C#SqlBulkCopy对象遇到的问题总结1.批量插入excel数据遇到的类型转换问题2.去除非数据行以下是对应的解决办法及代码1….

    2022年7月20日
    16
  • vue跨域解决方案反向代理_怎么解决跨域问题

    vue跨域解决方案反向代理_怎么解决跨域问题文章目录前言一、跨域是什么?二、解决跨域的办法前言跨域错误信息AccesstoXMLHttpRequestat‘http://192.168.2.92:3000/api/b/home’fromorigin‘http://localhost:8080’hasbeenblockedbyCORSpolicy:Responsetopreflightrequestdoesn’tpassaccesscontrolcheck:ItdoesnothaveHTTP

    2022年10月1日
    3

发表回复

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

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