ETL规范概述
1.1 ETL含义:ETL是数据抽取(Extract)、转换(Transform)、装载(Loading)的缩写。
数据抽取:从数据源获取所需数据的过程。数据抽取过程会过滤掉目标数据集中不需要的源数据字段或数据记录。
数据转换:按照目标表的数据结构,对一个或多个源数据的字段进行翻译、匹配、聚合等操作得到目标数据的字段。
数据转换主要包括:格式转换、字段合并与拆分、数据翻译、数据匹配、数据聚合其他复杂计算。
数据装载:将数据加载到目标数据库中。
1.2 ETL应用:完整的ETL应用过程包含三个阶段:
设计阶段:分析源和目标数据集的数据结构,定义合理的数据转换逻辑。
实施阶段:按照设计阶段制定的逻辑规则进行编码,实现数据的E、T、L过程。
维护阶段:对于非一次性数据整合项目,ETL过程需要重复执行,同时也需要不间断的维护和完善。
1.3 规范制定目的:ETL规范是为保证ETL正确设计、实施和维护所定义的一些规则和方法,具体包括ETL设计规范、开发规范以及维护规范。
1.4 设计规范
设计规范主要应用于ETL编码的前期工作。本阶段要形成多个关于数据流的在不同层次的映射(Mapping)文档。
1.4.1 Mapping应该包含以下几个部分:
数据源的相关属性,包括:实体名称—含DSN、所有者等信息;字段名—英文名称;字段简述—中文名称,如为参数信息应该有相关取值解释,如性别字段(1:男;2:女;0:不详);类型—字段类型,含长度和精度信息;非空属性—字段是否可以为空;
目标数据集的相关属性,包括:实体名称—含DSN、所有者等信息;字段名—英文名称,建议根据字段含义来命名,而不是简单用拼音来定义字段(此部分由负责设计数据集的人员控制);字段简述—中文名称,对于保留字段应该给出默认值;类型—字段