kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表

前言:

本章使用kettle9.3版本将mysql 100 张表合并输出,表格式如(例如: A1、A2-A99 这样递增 ) 张表合并到另外一张宽表中。

功能描述:
   1: 将表A1到A99 的表名通过循环增加序列的方式生成出来后作为记录发送到下一个作业
    2: 创建多循环数据导入的作业
        2.1:  从上一个作业当中把多个表名得到后循环设置变量
        2.2:  将变量作为表名循环查询后输出。


目录

作业总览

一: 创建转换,生成表名后循环作为参数发送到下一个作业

 1.1:生成记录

 1.2:增加序列

 1.3:拼接字段

 1.4:删除多余字段

 1.5:复制记录到结果

二: 创建一个新的作业,位于刚才转换的下游。

2.1 循环得到上游作业并作为变量输出

 2.1.1 从结果获取记录

 2.2  将变量做由于查询,输出到一张宽表

 2.2.1 表输入

2.2.2 表输出


作业总览

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第1张图片

一: 创建转换,生成表名后循环作为参数发送到下一个作业

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第2张图片

 1.1:生成记录

   生成100个表名,示例:gxy_student_

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第3张图片

 1.2:增加序列

  生成100个序列后缀,示例:0

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第4张图片

 1.3:拼接字段

将两个字段拼接起来生成新的字段,示例:gxy_student_0

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第5张图片

 1.4:删除多余字段

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第6张图片

 1.5:复制记录到结果

这一步非常重要不要忽略

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第7张图片

二: 创建一个新的作业,位于刚才转换的下游。

双击作业,将执行每一个输入行选上,这个作用是循环上游转换的每一个输出

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第8张图片

 kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第9张图片

2.1 循环得到上游作业并作为变量输出

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第10张图片

 2.1.1 从结果获取记录

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第11张图片

 2.1.2 设置变量

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第12张图片

 2.2  将变量做由于查询,输出到一张宽表

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第13张图片

 2.2.1 表输入

将 NEW_TABLE_NAME变量使用是的格式为:${NEW_TABLE_NAME},在表输入当中要勾选“替换SQL语句里的变量” 选项

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第14张图片

2.2.2 表输出

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第15张图片

最终效果:

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第16张图片

kettle进行多表循环合并内容后多数据作为变量输出到另外一张宽表_第17张图片

 

你可能感兴趣的:(ETL,kettle,多表合并到一张宽表,etl,kettle循环执行,kettle多表合并,kettle循环控制)