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