一、基本概念
ETL,它是Extract、Transform、Load三个单词的首写字母。ETL是建立数据仓库最重要的处理过程,也是工作量最大的环节,一般会占到整个数据仓库建立的一半工作量。
- 抽取:从操作型数据源获取数据;
- 转换:转换数据,使之转变为适用于查询和分析的形式和结构;
- 装载:将转换后的数据导入到最终的目标数据仓库;
建立一个数据仓库,就是要把来自多个异构的源系统的数据集成在一起,然后放置于一个集中的位置,用于数据分析。
二、E:抽取
典型的源系统一般是事务处理应用,可能是一个销售分析数据仓库的源系统之一,又可能是一个订单录入系统,其中包括了订单的相关操作的全部行为记录。这些记录很多,很复杂,确定需要抽取的数据(目标数据)非常困难。通常数据都不是只抽取一次,而是需要一定的时间间隔反复抽取,通过这样的方式把数据的所有变化提供给数据仓库,保持数据的及时性。假设已经明确抽取的目标数据,就可以考虑使用哪种抽取方法。
抽取方法的选择高度依赖于源系统和目标数仓环境的业务需求。一般遵循两大原则:一、不可在源系统添加额外的逻辑;二、不能增加源系统的工作负载。即不可以对源系统具有侵入性。下面介绍抽取的两大方法:逻辑抽取和物理抽取。
1、