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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM