分享

Kettle动态表查询

 小雪初晴i 2023-03-10 发布于河北

前言

需求:
数据库存在一个信息表,每天都在记录信息,数据量大,每天创建一张表存储。
表名每天都在变,需要从当天的表拿到信息同步到指定数据库。

预定格式:
yyyyMMdd_tableName( 20200202_abcd )

本次测试环境:



系统Windows10
软件版本kettle 7.1.0.0-12
MySQL驱动mysql-connector-java-8.0.19.jar

动态表名查询数据

  • 第一个转换设置表名为变量
  • 第二关转换拿到变量带入sql查询出数据
    在这里插入图片描述

一、获取表名

在这里插入图片描述
实现步骤如下:

  • 新建一个转换getTableName,拖入获取系统信息字段选择设置变量
    在这里插入图片描述
  1. 打开 获取系统信息 编辑界面,填写名称,点击类型选择要获取的信息类型
    在这里插入图片描述

  2. 打开字段选择,选择元数据,设置字段属性
    在这里插入图片描述

  3. 打开设置变量,填写相关信息,也可以点击获取字段自动填写字段信息
    在这里插入图片描述

表名转换到此结束。


二、根据表名更新数据

在这里插入图片描述
实现步骤如下:

  1. 打开表输入,选择数据库,填写sql语句,使用之前设置的${TODAY}变量,替换SQL语句里的变量勾选上,否则变量无法生效
    在这里插入图片描述

  2. 打开插入/更新,指定目标表,填写查询关键字,填写更新字段
    在这里插入图片描述

根据表名更新数据转换到此结束。

三、作业执行转换

在这里插入图片描述

  • 新建一个作业autoTable,拖入START,先调用获取表名转换,然后调用根据表名更新数据转换,最后拖入成功

设置如下:

  1. 拖入START

  2. 拖入转换,编辑获取表名转换的作业项名称,选择要执行的转换文件getTableName,其它默认
    在这里插入图片描述

  3. 拖入转换,编辑根据表名更新数据转换的作业项名称,选择要执行的转换文件autoQuery,其它默认
    在这里插入图片描述

  4. 拖入成功

  5. 作业保存,运行。


到此,动态表查询结束。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多