Kettle 实现动态表查询
Kettle 实现动态表查询
·
文章目录
前言
需求:
数据库存在一个信息表,每天都在记录信息,数据量大,每天创建一张表存储。
表名每天都在变,需要从当天的表拿到信息同步到指定数据库。
预定格式:
tableName_yyyyMMdd( abcd_20230701 )
本次测试环境:
系统 | Windows10 |
软件版本 | kettle 7.1.0.0-12 |
MySQL驱动 | mysql-connector-java-8.0.19.jar |
kettle取昨天时间&设置任意时间变量
动态表名查询数据 :
- 第一个转换设置表名为变量
- 第二关转换拿到变量带入sql查询出数据
一、获取表名
1、新建一个转换getTableName,拖入获取系统信息,字段选择,设置变量
2、打开 获取系统信息 编辑界面,填写名称,点击类型选择要获取的信息类型
3、打开字段选择
,选择元数据
,设置字段属性
4、打开设置变量,填写相关信息,也可以点击获取字段自动填写字段信息
表名转换
到此结束。
二、根据表名更新数据
实现步骤如下:
- 新建一个转换autoQuery,拖入
表输入
,插入/更新
- 表操作需要连接数据库,本次Kettle使用8.x 版本的 MySQL驱动
1、打开表输入,选择数据库,填写sql语句,使用之前设置的${TODAY}变量,替换SQL语句里的变量勾选上,否则变量无法生效
2、打开插入/更新,指定目标表,填写查询关键字,填写更新字段
根据表名更新数据转换到此结束。
三、作业执行转换
- 新建一个作业autoTable,拖入START,先调用获取表名转换,然后调用根据表名更新数据转换,最后拖入成功
- 作业保存,运行。
总结
如果此篇文章有帮助到您, 希望打大佬们能
关注
、点赞
、收藏
、评论
支持一波,非常感谢大家!
如果有不对的地方请指正!!!
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
已为社区贡献14条内容
所有评论(0)