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作业所做动作为更新日志表记录, 此处与仓库设计关系较大, 不同仓库有各自具体情况, 故不作详细说明.
需要本设计的范例xml供学习, 可联系邮箱[email protected]