1. 程式人生 > >hive 匯率拉鏈表轉日連續流水表

hive 匯率拉鏈表轉日連續流水表

規則 join 我們 step 就是 但是 分享圖片 http 使用

1.什麽是拉鏈表

拉鏈表是針對數據倉庫設計中表存儲數據的方式而定義的,顧名思義,所謂拉鏈,就是記錄歷史。記錄一個事物從開始,一直到當前狀態的所有變化的信息。

我們先看一個示例,這就是一張拉鏈表,存儲的是匯率以及每條記錄的生命周期。我們可以使用這張表拿到最新的當天的最新數據以及之前的歷史數據。
我們首先介紹一下我們公司用到的匯率分區拉鏈表

每個公司的拉鏈表設計可能並不相同但是拉鏈表以記錄生命周期的設計目的是不會改變的。

技術分享圖片

2.匯率拉鏈表轉日連續流水表

進行對間斷的時間序列補全,然後對null補全(這裏的規則是取同類上一條數據的非空值)

技術分享圖片

3.匯率拉鏈表轉日連續流水表

代碼實現

為了簡單我們用

我的思路是

step1.使用utf生成連續的時間序列 left join exchangeRate拉鏈表

step2.使用開窗函數解決補空值問題

技術分享圖片

hive 匯率拉鏈表轉日連續流水表