kettle循环传递变量_Kettle实现循环变量

工作中需要用到Kettle来做数据报表,编写SQL语句读数据库,将数据写到Excel里,有时候一条SQL会实现不了,就需要用到循环,一种是在转换(ktr)中循环,一种是在作业(job)中循环。

转换中循环

a4e2706b8a8e881d8ceaa88f1ad38481.png

如图CSV文件里设置变量,将流字段输入到表输入里,需要设置,替换SQL语句里的变量,也就是用来替换$占位符所表示的数据,执行每一行,需要CSV文件里设置一列数据,这样转换就可以读取CSV里一个字段,执行一次表输入,依此类推。

81d5fcfd91f70d6f488c98ae298db4d3.png

作业中循环

2a5cdd67ef3f4fc00cd866418328b6ca.png

主要是第三行,首先设置需要循环的变量,在自定义常量数据里,设置好元数据和数据,然后复制记录到结果。这里需要注意设置变量需要做以下设置,目的将变量参数传递到下一个转换!

6f1ff4bf0cccb0b545473465a41c6702.png

74f46ea91ccd5dc0d116d12001d46979.png

接着执行查询作业,查询需要设置两处,一处是执行每一个输出行

ce58c6ce23ea4c95f1b8b8ae41aabac5.png

一处是设置命名参数

821907f7f4e4f6dba29a64fcc4e3ddcb.png

最后在查询步骤内部获取命名参数

795610b991ab51bccfaf292f04046874.png

这样,就可以将之前设置的变量,一行一行输入到需要查询的转换里了。这种方法可以解决我之前提出的问题。 工作中使用Kettle进行数据抽取时遇到问题,麻烦各位大佬给看看有没有更好的思路?

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值