拉链表设计:
在企业中,由于有些流水表每日有几千万条记录,数据仓库保存5年数据的话很容易不堪重负,因此可以使用拉链表的算法来节省存储空间。
例子:
-- 用户信息表; 采集当日全量数据存储到 (当日) 表中 CREATE TABLE dwd.user_info( id string, name string, sex string, biz_date string -- 业务日期 ) -- 用户信息整合表 CREATE TABLE dws.user_merge_info( id string, name string, sex string, start_date string, end_date string ) -- 测试插入用户信息 INSERT INTO dwd.user_info SELECT '1','YaoMing','boy','20190701' UNION ALL SELECT '2','YaoLinlin','girl','20190701' UNION ALL SELECT '3','CaiLili','girl','20190701' UNION ALL SELECT '4','ZhangSan','girl','20190702' UNION ALL SELECT '5','LiSi','girl','20190702' -- 查看数据 SELECT * FROM dwd.user_info
-- 初始化用户信息整合表 INSERT overwrite TABLE dws.user_merge_info SELECT id, name, sex, '20190701' AS start_date, '99991231' AS end_date FROM ( SELECT id,