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,先调用获取表名转换,然后调用根据表名更新数据转换,最后拖入成功
  • 作业保存,运行。

总结

如果此篇文章有帮助到您, 希望打大佬们能关注点赞收藏评论支持一波,非常感谢大家!
如果有不对的地方请指正!!!

参考1

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lfwh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值