内容简介:====================www.ayjs.net 杨洋 wpfui.com ayui ay aaronyang=======请不要转载谢谢了。=========创建一个 自定义常量
====================www.ayjs.net 杨洋 wpfui.com ayui ay aaronyang=======请不要转载谢谢了。=========
31 检验
创建一个 自定义常量
拖上 数据检验
双击数据检验
修改price为100,小时通过,
修改price为99
然后增加一个 失败的处理,底部日志没有错误了
接下来把空操作换成 文本输出
上面的txt是suc.txt
下面的txt是fail.txt
运行转换,只生成为了fail.txt
为什么要做这样一个测试呢?
因为kettle的箭头,只是指向一个数据流的传递方向和处理,但是没有顺序性。比如表输入,执行个存储过程,后面还有个根据存储过程返回的结果继续调用下一个存储过程的话
,实际上它是不会阻塞上一步完成的,下面个存储过程直接执行。
所以有时候我们需要多个 ktr文件,然后用一个kjb,作业文件串联他们,然后
作业中的转换是可以阻塞的。
这里上面没有执行,是因为错误处理的,相当于if else
32 设置/获取变量
功能描述:将字段流值设置为变量
注意事项:字段流只能是一行数据
拖一个自定义常量
建立方向后,点击获取字段
默认变量名为大写的,变量使用是${变量名}
这里有活动类型,是变量的作用范围,基本上默认的,可以再当前转换用,也可以在上一级的job用。
比如一个job 包含 转换1 (设置变量了) -> 转换2 (可以获取变量)->成功
增加一个表输入
SELECT * FROM USERINFO where UserName like '%${STUNAME}%'
上面截图 sql 写错了点,加个%%包裹 然后增加一个 写日志,测试输出
上图演示,自定义常量,然后设置变量是有问题的,一般返回值后,设置常量。
如果变量在js脚本中,如下获得变量值
获取变量
这样又把变量放入流字段了。
33 复制记录到结果、从结果获取记录
复制记录到结果:复制记录进内存
从结果获取记录:从内存中获得记录
先创造一组数据
然后再新建一个转换文件
新建一个作业
然后转换2
把执行每一个输入行 取消勾选
然后获取列表的地方,要设置下获取的格式
保存下,接下来,运行作业
这样就能共享 结果集的数据了
34 映射(子转换)
新建一个转换
中间是一个js脚本
定义一个 转换的 输入的参数
然后加起来,拼接字符串
返回一个res
然后新建一个转换(应用子转换.ktr),调用这个转换文件(重复利用)
拖一个子转换
输入,这里要符合子转换定义的输入参数
子转换通过
定义的。
接下来接收子转换的输出
然后加一个写日志,测试结果,
结果正确,正确的调用了子转换,向子转换传递了参数,子转换返回了结果,调用者获得子转换的结果
关于日志,
日志级别,是用来打印 筛选日志的,如果是错误日志,那么执行结果,只显示 错误的。
====================www.ayjs.net 杨洋 wpfui.com ayui ay aaronyang=======请不要转载谢谢了。=========
35 下篇讲
推荐您阅读更多有关于“kettle,etl,”的文章
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。