ETL算法课程--拉链表

上传人:飞****9 文档编号:131871979 上传时间:2020-05-10 格式:PDF 页数:21 大小:841.49KB
返回 下载 相关 举报
ETL算法课程--拉链表_第1页
第1页 / 共21页
ETL算法课程--拉链表_第2页
第2页 / 共21页
ETL算法课程--拉链表_第3页
第3页 / 共21页
ETL算法课程--拉链表_第4页
第4页 / 共21页
ETL算法课程--拉链表_第5页
第5页 / 共21页
点击查看更多>>
资源描述

《ETL算法课程--拉链表》由会员分享,可在线阅读,更多相关《ETL算法课程--拉链表(21页珍藏版)》请在金锄头文库上搜索。

1、1 课程说明 1 拉链定义 2 拉链表数据存储 方式 3 拉链的意义 4 拉链算法详解 5 拉链表的使 用 注 标题加 为课后 自学课程 拉链 2 拉链是依靠连续排列 的链 牙 使物品并合或分离的连接件 现实社会数据仓库 记录数据在某 一时间区间内的 状态以及数据在某 一时点上的 变化的数据存储 方式 也是应需求 而产 生的技术解决 方案 Z 拉链表相关定义 历史数据存储的2种 方式 快照存储 拉链存储 业务系统2014年 1 月1 日的数据 业务系统2014年 1 月15 日的数据 业务系统2014年 2 月1 日的数据 3 快照存储 方式 拉链存储 方式 业务 日期DATA DT STAR

2、T DTEND DT 开链 Pactera Confidential All Rights Reserved 数据存储 方式 新增 主键 账户ID 新增数据 即主键新增 直接开链 4 2014年 1 月1 日全量 源数据 2014年 1 月2 日全量 源数据 2014年 1 月1 日数据仓库数据 2014年 1 月2 日数据仓库数据 5 课程说明 2 拉链表数据存储 方式 1 拉链定义 3 拉链的意义 4 拉链算法详解 5 拉链表的使 用 注 标题加 为课后 自学课程 数据存储 方式 删除 6 主键 账户ID 删除数据 即数据删除 直接关链 2014年 1 月2 日全量 源数据 2014年 1

3、 月2 日数据仓库数据 2014年 1 月3 日全量 源数据 2014年 1 月3 日数据仓库数据 数据存储 方式 修改 7 主键 账户ID 修改数据 即属性字段的更 新 先关链 再开链 2014年 1 月3 日全量 源数据 2014年 1 月3 日数据仓库数据 2014年 1 月4 日全量 源数据 2014年 1 月4 日数据仓库数据 8 课程说明 3 拉链的意义 2 拉链表数据存储 方式 1 拉链定义 4 拉链算法详解 5 拉链表的使 用 注 标题加 为课后 自学课程 9 拉链的意义 节省存储空间 记录数据变化 账户状态历史表 历史数据的两种存储 方式 10 拉链的意义 节省存储空间案例

4、例 如 某某移动通信公司客户资料 以河北 为例 河北 有客 户2800W 客户资料 每个 一条就是2800W条记录算上历史客户 全量 大概有 5000W条左右 作为数据仓库来存储这些信息 几千万 条记录不 算什 么 可是要是记录历史全量 所 用到的存储就 非常的 庞 大 问题实例 为 一般正常情况下 从河 北 移动的BOSS系统上 每天采集全量 的 日数据 大概为2500W条 历史存储每天存储 一个 2500W条的 日表 存储三个 月 就需要3 30 2500W条的 数据存 储空间 数据量 为20E 这只是存储三个 月的历史如果存储更 长 时间则 无法估计需要的存储 记录数据在某 一时间区间内

5、的 状态以及数据在某 一时点上的 变化的数据存储 方式 也是应需求 而产 生的技术解决 方案 Z 11 课程说明 4 拉链算法详解 2 拉链表数据存储 方式 3 拉链的意义 1 拉链定义 5 拉链表的使 用 注 标题加 为课后 自学课程 拉链算法详解 算法流程 12 4 修改 目标表 进 行 开链插 入操作 3 修改 目标表 进 行 关链更 新操作 建 立临时表VT INC 用于存放 比对出的增量 数据2 建 立临时表VT NEW 用于存放转换 处理 后的数据1 拉链算法详解 常规拉链算法实现 13 SRC表TAG表 CREATE TABLE VT NEW AS SELECT FROM TAG

6、 WHERE 1 0 INSERT INTO VT NEW ID NAME BAL START DT END DT SELECT ID NAME BAL 2014 01 04 2999 12 31 FROM SRC 1 建 立临时表 VT NEW 用于存放转换 处理 后的数据 SELECT FROM VT NEW 2014年 1 月4 日的源数据 拉链算法详解 常规拉链算法实现 14 SRC表 TAG表 CREATE TABLE VT INC AS SELECT FROM TAG WHERE 1 0 INSERT INTO VT INC ID NAME BAL START DT END DT

7、SELECT ID NAME BAL START DT END DT FROM VT NEW WHERE ID NAME BAL NOT IN SELECT ID NAME BAL FROM TAG WHERE END DT 29991231 建 立临时表 VT INC 用于存放 比对 出的增量 数据 1 新增修改 SELECT FROM VT INC 2 拉链算法详解 常规拉链算法实现 15 SRC表 TAG表 UPDATE TAG SET END DT 2014 01 04 WHERE END DT 2999 12 31 AND ID IN SELECT ID FROM VT INC 修改

8、 目标表 进 行 关链更 新 操作 SELECT FROM TAR 3 拉链算法详解 常规拉链算法实现 16 SRC表 TAG表 INSERT INTO TAR ID NAME BAL START DT END DT SELECT ID NAME BAL START DT END DT FROM VT INC WHERE END DT 1990 01 02 修改 目标表 进 行 开链插 入 操作 SELECT FROM TAR 4 17 课程说明 5 拉链表的使 用 2 拉链表数据存储 方式 3 拉链的意义 4 拉链算法详解 1 拉链定义 注 标题加 为课后 自学课程 拉链表的使 用 18 对

9、历史拉链算法 入库数据 需要限制某 一时间点或时间段来使 用 如何获取4号 的数据 开始 日期 2014 01 04 思考 数据何时有效 数据何时进 入 答案 课后练习 基于全量 数据带删除的拉链算法 代码实现 19 课后练习 删除数据算法实现 20 SRC表TAG表 INSERT INTO VT INC ID NAME BAL START DT END DT SELECT ID NAME BAL START DT 1990 01 02 FROM TAG WHERE END DT 2999 12 31 AND ID NAME BAL NOT IN SELECT ID NAME BAL FROM VT NEW 建 立临时表 VT INC 用于存放 比对 出的增量 数据 2 删除 SELECT FROM VT INC 2 2014年 1 月3 日的源数据 Thank you

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号