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