拉鍊表 增量表 全量表

2021-09-24 17:40:11 字數 2119 閱讀 7543

記錄乙個事物從開始到當前狀態的所有的變化資訊。適用於「資料量非常大的表、表中的某些欄位會被更新操作、需要檢視歷史資訊、表的資料更新變化不是很大。」拉鍊表中會定義資料的st_date和end_date。

初始表a

cust_id

account

st_dt

end_dt

a100

20170801

29991231

b200

20170801

29991231

c100

20170801

29991231

20170802:更新資料表b

cust_id

account

st_dt

end_dt

a200

20170802

29991231

b300

20170802

29991231

更新表a

update a

set end_dt=mat_date

where cust_id in (select cust_id from b)

cust_id

account

st_dt

end_dt

a100

20170801

20170802

b200

20170801

20170802

c100

20170801

29991231

匯入更新資料b

insert into a select * from b
得到最終表:

cust_id

account

st_dt

end_dt

a100

20170801

20170802

b200

20170801

20170802

c100

20170801

29991231

a200

20170802

29991231

b300

20170802

29991231

只保留當前新增的資料,例如:

初始表a

cust_id

account

st_dt

a100

20170801

b200

20170801

c100

20170801

2023年8月2日:a賬戶又存了300

cust_id

account

st_dt

a300

20170802

最終表cust_id

account

st_dt

a300

20170802

a100

20170801

b200

20170801

c100

20170801

儲存使用者所有的資料(包括新增與歷史資料),例如:

初始表a

cust_id

account

st_dt

a100

20170801

b200

20170801

2023年8月2日:a賬戶沒存、b賬戶沒存、c賬戶存200

cust_id

account

st_dt

a100

20170802

b200

20170802

c100

20170802

最終表cust_id

account

st_dt

a100

20170801

b200

20170801

a100

20170802

b200

20170802

c100

20170802

hive增量表和全量表 拉鍊表小結

記錄每條資訊的生命週期,一旦一條資訊的生命週期結束,就重新開始一條新紀錄,並把當前日期放入生效日期。如果當前日期至今有效,在結束日期放入乙個最大值,例如 9999 99 99 優勢 訂單1經歷了四個生命週期,如果每天增量同步資料,則一年有365條資料,而拉鍊表只會產生4條資料 通常要在原表的基礎上加...

什麼是全量表,增量表,快照表,拉鍊表?

這一篇文章我們的目的是搞懂這四種表的概念,閒話不多說,直接看文字。全量表 全量表沒有分割槽,表中的資料是前一天的所有資料,比如說今天是24號,那麼全量表裡面擁有的資料是23號的所有資料,每次往全量表裡面寫資料都會覆蓋之前的資料,所以全量表不能記錄歷史的資料情況,只有截止到當前最新的 全量的資料。快照...

真正秒懂增量表 全量表和拉鍊表

增量表 記錄更新週期內新增的資料,即在原表中資料的基礎上新增本週期內產生的新資料 全量表 記錄更新週期內的全量資料,無論資料是否有變化都需要記錄 拉鍊表 一種資料儲存和處理的技術方式,可以記錄資料的歷史資訊,記錄資料從開始一直到當前所有變化的資訊。增量表 以頁面訪問資料表為例,假設該錶從2020 0...