首页 > 百科知识 正文

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)

时间:2023-11-20 15:34:58 阅读:545 作者:番茄炒白粥

今天这篇文章,给大家讲述一下数据仓库的ETL基础算法,作为我们一起探讨的内容。希望大家留言、评论,我们一起学习。

ETL定义

是数据抽取(Extract)、转换(Transform)、清洗(Cleansing)、装载(Load)的过程。是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去

一 ETL工具

首先我们来看下常用的ETL工具都有哪些,我说一下我用过的ETL工具,KITTLE,DataStage,Informatica,目前我接触的有这三种,基本上都是基于图形化开发的工具,简单的拖拉拽就可以替代原先的SQL代码,开发效率高,运行稳定,但是这种太不易于后期的维护和扩展,可读性也不强。所以现在的银行业大都慢慢地放弃了,现在都是基于大数据平台开发(A/O分离),然后通过ETL调度,编写存储过程实现数据流动。

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第1张

二 ETL是数据仓库的基础

数据仓库系统以事实发生数据为基础,自产数据较少。一个企业往往包含多个业务系统,均可能成为数据仓库的数据源。

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第2张

三 ETL在BI架构中的定位

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第3张

四 源数据概况

1

流水事件表:此类源表用于记录交易等动作的发生,在源系统中会新增、大部分不会修改和删除,少量表存在删除情况。如定期存款登记簿;

常规状态表:此类源表用于记录数据信息的状态。在源系统中会新增、修改,也存在删除的情况。如客户信息表;

代码参数表:此类源表用于记录源系统中使用到的数据代码和参数

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第4张

2

数据文件大多数以1天为固定的周期从源系统加载到数据仓库。数据文件包含增量,全量以及待删除的增量。

增量数据文件:数据文件的内容为数据表的增量信息,包含表内新增及修改的记录。

全量数据文件:数据文件的内容为数据表的全量信息,包含表内的所有数据。

待删除的增量:数据文件的内容为数据表的增量信息,包含表内新增、修改及删除的记录,通常删除的记录以字段DEL_IND='D'标识该记录。

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第5张

五 ETL算法概述

1 ETL标准算法

历史拉链:根据业务分析要求,对数据变化都要记录,需要基于日期的连续历史轨迹;

追加(事件表):根据业务分析要求,对数据变化都要记录,不需要基于日期的连续历史轨迹;

Upsert(主表):根据业务分析要求,对数据变化不需要都要记录,当前数据对历史数据有影响;

全删全加算法(参数表):根据业务分析要求,对数据变化不需要都要记录,当前数据对历史数据无影响;

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第6张

2 ETL标准算法选择

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第7张

3 历史拉链法

所谓拉链,就是记录历史,记录一个事务从开始,一直到当前状态的所有变化信息(参数新增开始结束日期)。

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第8张

4 追加算法

一般用于事件表,事件之间相对独立,不存在对历史信息进行更新。

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第9张

5 Upsert算法

是update和insert组合体,一般用于对历史信息变化不需要进行跟踪保留、只需其最新状态且数据量有一定规模的表,如客户资料表。

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第10张

6 全删全加算法

一般用于数据量不大的参数表,把历史数据全部删除,然后重新全量加载。

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第11张

算法的复杂度比较:

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第12张

具体算法概述1:

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第13张

0210算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第14张

0211算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第15张

0212算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第16张

具体算法概述2

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第17张

0610算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第18张

0611算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第19张

0612算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第20张

0613算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第21张

0614算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第22张

0615算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第23张

0616算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第24张

0617算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第25张

0618算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第26张

0619算法

数据仓库ETL基础算法你了解吗(etl抽取数据实施方案)-第27张

总结:

按照实际工作经验来看,ETL算法常用的有:

历史拉链 ----最常用,记录事物变化

追加(事件表) ---根据业务需求

全删全加算法(参数表) --根据业务需求

可以根据实际需求选择不同的算法。

好了,这篇文章就给大家写到这里了,希望大家留言、评论。我们一起探讨,学习。大家喜欢的,可以点个关注 ,我会不定期更新文章,将自己的经验分享出来。

,

版权声明:该问答观点仅代表作者本人。如有侵犯您版权权利请告知 cpumjj@hotmail.com,我们将尽快删除相关内容。