• kettle实现SQL中的union合并数据(追加流)


    https://blog.csdn.net/Deng_7788/article/details/102571037

    以前项目稍微比较复杂,需要在多个不同的数据库中抽取数据,然后实现数据合并,因为数据不在同一个库中,实现合并只能利用多个表输入控件先拿到数据,然后再在Kettle中合并,使用过kettle的数据合并控件,一言难尽,当初踩了很多坑,已经忘记了,后来终于找到一个不错的方式实现了想要达到的SQL中的union功能。

    下面举一个简单的例子
    TB_A

    aa bb
    1 11
    TB_B

    aa bb
    2 22
    TB_C

    aa bb
    3 33
    想要实现的效果是表数据合并

    Select aa,bb from TB_A
    Union all
    Select aa,bb from TB_B
    Union all
    Select aa,bb from TB_C

    1
    2
    3
    4
    5
    6
    aa bb
    1 11
    2 22
    3 33
    kettle上的实现
    使用追加流实现,每一次追加流只能是两张之间,三张表需要多个追加流

    追加流设置

    注意
    需要注意的点是追加流时,追加流的前和后都需要流数据的字段名字、字段类型和在数据流中的顺序一致,如果不一致执行会报错,实现字段类型和名字一致可以在表输入时修改(也就是SQL控制)或者是用kettle自带的字段选择修改一致。
    如下图

  • 相关阅读:
    MPlayer源代码分析
    洛谷 P1025 数的划分
    洛谷 P1209 [USACO1.3]修理牛棚 Barn Repair
    洛谷 P1744 采购特价商品
    洛谷 P1443 马的遍历
    洛谷 P1294 高手去散步
    洛谷 P2104 二进制
    洛谷 P1088 火星人
    洛谷 P1062 数列
    洛谷 P2005 A/B Problem II
  • 原文地址:https://www.cnblogs.com/gina11/p/15214286.html
Copyright © 2020-2023  润新知