讓我們構建兩個實例表user_info和user_info_l,其中user_info_l是zipper表。
用戶信息表和數據:
User_info_l表和轉換後的數據:
kettle的設計其實很簡單,只是壹個“表格輸入”和壹個“維度查詢/更新”
讓我們看看表輸入的配置:
這很簡單,但必須有壹個基本的表數據日期。
以下是維度查詢/更新的配置:
以下是設置中的壹些要點,如下所示:
1.如果未選中它,則不會插入已更改的數據。至於未勾選時的使用,可以研究壹下。
2.這裏是創建每個版本的關鍵字,它基本上是源表的主鍵。
3.以下是要更新的字段。除了源表關鍵字之外,所有字段都已被選中。
4.我忘了截圖多少次了。。。
5.kettle自動給出鏈表生成的主鍵。
6.獲取代理關鍵字的方法。
7.每個記錄的版本號,後面跟著每個更改的版本號。
8.根據更新的字段,您還可以使用系統時間。
9.拉鏈的最早開始日期,也是第壹次插入空白手表的日期。
10.所有更新字段中使用的拉鏈的最晚結束日期在更新後成為更新日期。請參考上圖中user_info_l中的數據。
我用的時候發現了壹個問題。我不知道是蟲子還是凱特爾故意這麽做的。也就是說,當插入zipper表時,將生成壹個代理主鍵為0的空記錄。這可能是壹個bug,或者kettle強制其他字段為空以防止數據問題。
解決這個問題很簡單,只需添加壹個已刪除的trans:
生成記錄的配置如下:
然後將兩個事務放入壹個作業中,如下所示:
至此,拉鏈表創建完成。