ETL解决方案之ETL子系统详解
前言-ETL子系统由来
作者kimball在2002年出版的《The data warehouse etl toolkit》定义了38个ETL子系统。
在2008年出版的《The data warehouse lifecycle toolkit》中,ETL子系统被重构为34种子系统。本文就详细介绍这34个ETL子系统
➜抽取: 【从数据源获取数据】
➜清洗和更正【转换和集成数据,统一口径】
➜发布: 【加载和更新数据仓库数据】
➙管理: 【管理和监控ETL解决方案所有组件的处理过程】
抽取:子系统1-3
清洗和更正:子系统4-8
发布:子系统9-21
管理:子系统22-34
抽取-数据剖析,增量数据捕获和抽取
【1】子系统1:数据剖析系统----分析不同数据源的结构和内容。
类似NULL值个数统计,行统计。
【2】子系统2:增量数据捕获系统----捕获源系统里数据的变化
Kettle中的一些步骤可以通过时间戳,快照的方式获得变化的数据。
【3】子系统3:抽取系统----从不同的数据源抽取数据,并且输入到ETL流程里。
Kimball明确区分了基于文件的和基于流的两种抽取。从kettle的角度看,这种区分方法不太恰当,无论从数据库,文件实时数据源,web services只有可以访问数据源,都可以以流的方式。抽取的主要区别是静态还是动态的问题。
清洗和更正数据
【4】子系统4:数据清洗和质量处理系统。
可以在原系统中进行数据清洗。
可以在ETL项目中提高数据质量;
ETL项目总进行数据清洗的优势:1,在数据剖析阶段,能找出哪些错误数据,2