当前位置:网站首页 / ETL / 正文

[AY]写给自己的Kettle笔记8

时间:2019年02月21日 | 作者 : aaronyang | 分类 : ETL | 浏览: 1296次 | 评论 0

====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========

31 检验

创建一个 自定义常量

image.png

拖上 数据检验

image.png

双击数据检验

image.png

修改price为100,小时通过,

修改price为99

image.png

然后增加一个 失败的处理,底部日志没有错误了

image.png

接下来把空操作换成 文本输出

image.png

上面的txt是suc.txt

下面的txt是fail.txt

运行转换,只生成为了fail.txt

image.png

image.png

为什么要做这样一个测试呢?

因为kettle的箭头,只是指向一个数据流的传递方向和处理,但是没有顺序性。比如表输入,执行个存储过程,后面还有个根据存储过程返回的结果继续调用下一个存储过程的话

,实际上它是不会阻塞上一步完成的,下面个存储过程直接执行。

所以有时候我们需要多个 ktr文件,然后用一个kjb,作业文件串联他们,然后

作业中的转换是可以阻塞的。

这里上面没有执行,是因为错误处理的,相当于if else


32 设置/获取变量

功能描述:将字段流值设置为变量

注意事项:字段流只能是一行数据


拖一个自定义常量

image.png

image.png

建立方向后,点击获取字段

image.png

默认变量名为大写的,变量使用是${变量名}

image.png

这里有活动类型,是变量的作用范围,基本上默认的,可以再当前转换用,也可以在上一级的job用。

比如一个job 包含 转换1 (设置变量了) -> 转换2 (可以获取变量)->成功

增加一个表输入

image.png

SELECT * FROM USERINFO where UserName like '%${STUNAME}%'

上面截图sql写错了点,加个%%包裹 然后增加一个 写日志,测试输出

上图演示,自定义常量,然后设置变量是有问题的,一般返回值后,设置常量。

如果变量在js脚本中,如下获得变量值

image.png


获取变量

image.png

这样又把变量放入流字段了。



33 复制记录到结果、从结果获取记录

 复制记录到结果:复制记录进内存

 从结果获取记录:从内存中获得记录

先创造一组数据

image.png


image.png

image.png

然后再新建一个转换文件

image.png

新建一个作业

image.png

然后转换2

image.png

把执行每一个输入行 取消勾选

然后获取列表的地方,要设置下获取的格式

image.png

保存下,接下来,运行作业

image.png

这样就能共享 结果集的数据了


34 映射(子转换)

新建一个转换

image.png

中间是一个js脚本

定义一个 转换的 输入的参数

image.png

然后加起来,拼接字符串

image.png

image.png

返回一个res

image.png

然后新建一个转换(应用子转换.ktr),调用这个转换文件(重复利用)

image.png

拖一个子转换

image.png

输入,这里要符合子转换定义的输入参数

image.png

子转换通过

image.png

定义的。

接下来接收子转换的输出

image.png

然后加一个写日志,测试结果,

结果正确,正确的调用了子转换,向子转换传递了参数,子转换返回了结果,调用者获得子转换的结果

image.png

关于日志,

image.png

日志级别,是用来打印 筛选日志的,如果是错误日志,那么执行结果,只显示 错误的。




====================www.ayjs.net       杨洋    wpfui.com        ayui      ay  aaronyang=======请不要转载谢谢了。=========



35 下篇讲







推荐您阅读更多有关于“kettleetl,”的文章

猜你喜欢

额 本文暂时没人评论 来添加一个吧

发表评论

必填

选填

选填

必填

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

  查看权限

抖音号:wpfui,可以看到我的很多作品效果

AYUI8社区版Github地址:前往获取

作者:杨洋(AaronYang简称AY,安徽六安人)目前是个人,还没公司AY唯一QQ:875556003和AY交流

高中学历,2015年1月17日开始,兴趣学习研究WPF,目前工作繁忙,不接任何活

声明:AYUI7个人与商用免费,源码可购买。部分DEMO不免费.AY主要靠卖技术服务挣钱

不是从我处购买的ayui7源码,我不提供任何技术服务,如果你举报从哪里买的,我可以帮你转正为我的客户,并送demo

查看捐赠

AYUI7.X MVC教程 更新如下:

第一课 第二课 程序加密教程

兼容XP到win10,vs2015/2017/2019,最新AYUI:7.6.5.5

vs2015 企业版密钥HM6NR-QXX7C-DFW2Y-8B82K-WTYJV

vs2017 企业版密钥NJVYC-BMHX2-G77MM-4XJMR-6Q8QF

标签列表