增量表:記錄更新週期內新增的資料,即在原表中資料的基礎上新增本週期內產生的新資料;
全量表:記錄更新週期內的全量資料,無論資料是否有變化都需要記錄;
拉鍊表:一種資料儲存和處理的技術方式,可以記錄資料的歷史資訊,記錄資料從開始一直到當前所有變化的資訊。
增量表:以頁面訪問資料表為例,假設該錶從2020-06-01開始記錄資料,按天更新,分割槽為dt。2020-06-01產生了三條訪問資料,如下表:
2020-06-02首頁和商詳頁又產生了2條訪問資料,該兩條即為2020-06-02新增的資料,表更新後,dt分割槽2020-06-02新增2條資料(標紅),此時資料表如下:
以此類推,2020-06-03又產生1條訪問資料,表更新後,2020-06-03分割槽下新增1條資料(標黃),此時資料表如下:
因此,增量表每次更新是在原表資料的基礎上記錄本週期內新增的資料,如上例,按天更新的流量表,每次更新只新增一天內產生的新資料。注意:每次新產生的資料是以最新分割槽增加到表中,原先的資料依然存在於表中,如今天是2020-06-03,新增1條資料到表中,dt=2020-06-03,但2020-06-01的資料依然在表中,可以按照dt=2020-06-01進行查詢;
全量表:以使用者表為例,假設該錶從2020-06-01開始記錄資料,按天更新,分割槽為dt。
2020-06-01有三個使用者註冊,資料表如下:
2020-06-02有一名使用者註冊,即新增了一名使用者(標紅),表更新後2020-06-02分區內會記錄全量的資料,包括2020-06-01的使用者資料(標綠),此時資料表如下:
同理,2020-06-03又有2名使用者註冊,即新增了2名使用者(標藍),表更新後2020-06-03分區內會記錄全量資料,即包含2020-06-02的使用者資料(標黃),此時資料表如下:
因此,全量表每次更新都會記錄全量資料,包括原全量資料和本次新增資料,即每個分區內的資料都是截至分割槽時間的全量總資料。注意:全量表中每個分區內都是截至分割槽時間的全量資料,原先分割槽的資料依然存在於表中,只是每次更新會在最新分區內再更新一遍全量資料。如上例,按照dt=2020-06-03查詢出的資料是截至2020-06-03的所有註冊使用者資料,也可以按照dt=2020-06-02查詢截至2020-06-02的所有註冊使用者資料。
以上內容為個人學習所得,如有問題,歡迎交流指正~
拉鍊表 增量表 全量表
記錄乙個事物從開始到當前狀態的所有的變化資訊。適用於 資料量非常大的表 表中的某些欄位會被更新操作 需要檢視歷史資訊 表的資料更新變化不是很大。拉鍊表中會定義資料的st date和end date。初始表a cust id account st dt end dt a100 20170801 299...
hive增量表和全量表 拉鍊表小結
記錄每條資訊的生命週期,一旦一條資訊的生命週期結束,就重新開始一條新紀錄,並把當前日期放入生效日期。如果當前日期至今有效,在結束日期放入乙個最大值,例如 9999 99 99 優勢 訂單1經歷了四個生命週期,如果每天增量同步資料,則一年有365條資料,而拉鍊表只會產生4條資料 通常要在原表的基礎上加...
什麼是全量表,增量表,快照表,拉鍊表?
這一篇文章我們的目的是搞懂這四種表的概念,閒話不多說,直接看文字。全量表 全量表沒有分割槽,表中的資料是前一天的所有資料,比如說今天是24號,那麼全量表裡面擁有的資料是23號的所有資料,每次往全量表裡面寫資料都會覆蓋之前的資料,所以全量表不能記錄歷史的資料情況,只有截止到當前最新的 全量的資料。快照...