kettle从数据表中查询数据作为变量传递使用(单值) |
您所在的位置:网站首页 › 获取查询结果 › kettle从数据表中查询数据作为变量传递使用(单值) |
背景
刚开始做增量数据抽取,用的是插入/更新这个组件,经过测试,发现一个问题,数据量一大,传输久了后电脑会变的非常卡慢,而且刚开始传的时候速度很快,到后面就很慢了。 top一看,cpu使用率由原来的50%到了800%,不卡就有鬼了 而且传输了大约300万条(花费30min左右)数据后,还会出现与数据库断线的情况(这个问题的解决方案 )。 然后想了个办法,根据源数据表中的一个自增字段,每隔6分钟传输100万条(可想而之之前到后面的传输速度有多慢),这样速度还算可以,但是每次都需要先手动从源数据表中查询数据后输入到查询语句中,肯定不对劲阿,所以biying之~,发现大家都说用变量,那就用呗。(ps:没人带,自己摸索的解决方案,惨~) 使用变量在这个时候我已经发现了使用插入/更新来传输大量数据不现实,所以这里使用了表输出来插入数据到目标表 使用到的测试表(oracle) CREATE TABLE TEACHER( TNO VARCHAR(3) NOT NULL, TNAME VARCHAR(4) NOT NULL, TSEX VARCHAR(2) NOT NULL, TBIRTHDAY DATE NOT NULL, PROF VARCHAR(6) NOT NULL, DEPART VARCHAR(10) NOT NULL, SALARY NUMBER); INSERT INTO STUDENT123 VALUES(109,‘王芳’,‘女’,to_date(‘1975-02-10’,‘yyyy-mm-dd’),95031); job
4.点击 开始运行 重点是变量名什么时候加$。 要点击勾选“替换SQL语句里的变量”; 要多注意右击查看每个环节的输入输出字段。 希望你有所收获! |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |