ETL kettle 从上一步传来的参数使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ETL kettle 从上一步传来的参数使用相关的知识,希望对你有一定的参考价值。
KETTLE 第一步是表输入,查询到两列,为2个数,第二步是个 执行sql ,在里面怎么使用第一步传来的2个数字。
你的意思是从一个表里面查到2列数值,然后想把这2列作为下一个SQL的where条件吧?
第一步:变量和目标表的准备
这个对应于你说的2列变量值
这个是我在数据库里面创建的一张student表 对应字段 id name score
第二步:搭建处理环境
在这儿 where条件里的第一个问号对应的是传过来的第一个参数(ID) 第二个问号对应的是传过来的第二个参数(NAME) PS:要是你把SQL写成 where name = ? and id = ?就会出错的。
勾选“替换SQL语句里的变量“和”执行每一行“ 。
拓扑图如下:
结果如下:
参考技术A要使用从上一步传来的参数,只要在使用SQL进行引用就可以。
ps:对应的拓扑结构:
ETL:
是“Extract、 Transform 、Load”的缩写,也就是代表ETL过程的三个最主要步骤:“抽取、转换、装载”,但我们平时往往简称其为数据抽取。
Kettle:
是一款国外开源的ETL工具,纯java编写,可以在Window、Linux、Unix上运行,绿色无需安装,数据抽取高效稳定。Kettle 中文名称叫水壶,该项目的主程序员MATT 希望把各种数据放到一个壶里,然后以一种指定的格式流出。
参考技术B 第一步查到的两列定义为变量,往第二步传递,然后在第二步sql里面进行引用即可。Kettle实现循环
转换1=》核心控件[复制记录到结果]
转换2=》核心设置[设置命名参数]
job1=》
核心设置:
1)高级[勾选“复制上一步结果到命名参数”;勾选“执行每一个输入行”]
2)命名参数:
设置命名参数,同时对应流列名
以上是关于ETL kettle 从上一步传来的参数使用的主要内容,如果未能解决你的问题,请参考以下文章
ETL利器Kettle实战应用解析系列一Kettle使用介绍