你的位置:首页 > 数据库

[数据库]Kettle通用数据贴源作业设计

本设计基于以下需求提出

1. 快速接入数据源表(贴源/落地)

2. 无须给单独表开发转换/作业

3. 动态生成数据源连接, 表字段等信息(预先保存在数据仓库中)

 

本设计所需条件

1. 数据源为关系型数据库

2. 不同数据源需要写一小段Java Scripts以保证数据源连接可用

 

总体作业结构

jb_STG_SetVariable: 设置及生成后续转换所需信息
tf_STG_LoadData : 实际贴源转换
jb_Update_Flag : 更新运行后状态

 

jb_STG_SetVariable:

tf_STG_Inc_SetVariable : 获取数据表运行增量时间
tf_STG_selectSource_SetVariable: 获取并设置数据表名,字段名,数据源连接,用户,密码

 

数据表的运行增量时间在数据仓库中进行管理, 每次运行该作业前将每天更新对应表的增量日期/时间.

数据表名,字段名,数据源连接,用户,密码 也是通过数据仓库中一系列的参数表设置完成, 此过程当需要接入一整个数据库(20张表以上)时可通过脚本自动完成, 不在本次Kettle作业设计讨论范围.

 

下面再来看看 tf_STG_Inc_SetVariable 和 tf_STG_selectSource_SetVariable 的内容:

tf_STG_Inc_SetVariable:

 

tf_STG_selectSource_SetVariable:

 

最后jb_Update_Flag作业所做动作为更新日志表记录, 此处与仓库设计关系较大, 不同仓库有各自具体情况, 故不作详细说明.

 

需要本设计的范例