當前位置:成語大全網 - 書法字典 - 如何用etl工具kettle生成拉鏈表

如何用etl工具kettle生成拉鏈表

拉鏈表是數據倉庫中的常用表,主要用於存儲不隨時間變化的表,如客戶基本信息表。

讓我們構建兩個實例表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:

生成記錄的配置如下:

然後將兩個事務放入壹個作業中,如下所示:

至此,拉鏈表創建完成。