Kettle数据转换

决定采用Kettle作为ETL工具把第三方数据(SqlServer),经过简单粗暴的方式同步到本地我们这边的DW(Oracle),问题也基本解决,现在是想把其中碰到几个问题分享出来。

1.数据转换(最小单元任务)搭建

   DB连接,如果是sqlserver、oracle因为考虑采用JDBC方式,kettle自身未携带jar包,所以需要把sqlserver4、ojdbc16放入lib目录下

2.数据在流程中,简单数据转换

   这里我采用javascript的脚本,简单的语法

var yearvalue = LOG_TIME.getTime();
var value = yearvalue;

获取变量,那在接下来的就能获取value的变量值

3.当主任务需要分发给多个子任务时候

   数据可能需要分发,则右键->数据发送->Round Robin,如果数据是重复性发送,选择复制发送模式

4.数据表的更新

  a.直接通过插入、更新的机制

  b.sql完成,执行SQL脚本

5.作业关联转换任务

  其实作业是作为定时任务机制而采用,那么在完成作业时,有必要对于每个任务作为最小单元任务

6.作业对其时间控制

  作业中start的按钮双击,进行时间控制



 

 

 

 

 7.对于执行SQL的脚本,我们可以采纳preparestatment的预编译的方式来完成'?',sql的执行

 8.如何使用脚本进行定时任务推动(环境变量先设置)

title WMS Data Migrate
cd D:\Downloads\pdi-ce-5.0.1.A-stable\data-integration
Kitchen.bat /file D:\NEVERSAYGOODBYE\KettleJob\job.kjb /level Basic /logfile d:\MyTest.log
pause

 

9.linux则采用shell脚本即可启动,如果是job则采用kitchen,而转换则采用pan来执行



 

10.基础培训可以参考文件(baidu文库中下载)

猜你喜欢

转载自cywhoyi.iteye.com/blog/2026017
今日推荐