1. 程式人生 > 其它 >kettle實現SQL中的union合併資料(追加流)

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自帶的欄位選擇修改一致。
如下圖