源数据概述
一.元数据分类
- 流水事件表 一般只会增加不会删除和修改,如存款记录,采用append
- 常规状态表 会修改删除和新增,如客户信息表
- 代码参数表 记录原系统中使用数据代码的参数
二.数据文件类型
数据文件大多 数以一天为周期从源系统中加载到数仓,数据文件包含增量和全量以及带删除的增量.
- 增量数据文件
数据文件内容为数据表增量信息,包含表内新增及修改的记录- 全量数据文件
数据文件内容为数据表全量信息,包含表内所有记录- 带删除增量数据文件
数据文件内容为数据表增量信息,在增量数据文件的基础上带了删除的数据,通常有标志删除的标志列- 带删除的全量数据文件
数据文件内容为数据表全量信息,在全量数据文件的基础上带了删除的数据
ETL算法
一.近源模型层主要算法
- 0210 APPEND算法
- 0211 常规拉链算法
- 0212 全量带删除拉链算法
二.整合模型层主要算法
- 0610 APPEND算法
- 0611 MERGE算法
- 0612 常规拉链算法
- 0613 基于增量数据的删除拉链算法
- 0614 基于全量数据的删除拉链算法
- 0615 经济型常规拉链算法
- 0616 经济型基于增量的删除拉链算法
- 0617 经济型基于全量数据的删除拉链算法
- 0618 PK_NOT_IN_APPEND算法
- 0619 源日期字段自拉链算法
ETL算法详解
一.五层架构
(数据缓冲层 | )
技术缓冲层 |
近源模型层 |
整合模型层 |
共性加工层 |
集市应用层 |
二.技术缓冲层和近源模型层的数据流算法之-APPEND算法
0210算法通常用于流水事件表,适合这类算法的源表在源系统中不会更新和删除,而只会发生一笔添加一笔,所以只需每天将当天交易日期为当日最新的数据直接附加进目标表即可;
此类表在近源模型层和技术缓冲层和源系统表几乎一致,不会额外增加物理字段>;
一般直接insert进目标表
三.技术缓冲层到近源模型层的数据流算法之-常规拉链算法
0211算法通常用于无删除操作的常规状态表,适合这类算法的源表在源系统中会更新和新增,不会删除,所以只需每天获取当天交易日期为当日最新的数据(增量或全量)