文章目录
- 1.0 ETL前言
- 2.0 ETL 概述
- 3.0 ETL 数据集成
- 4.0 ETL工具应用
- 5.0 ETL工具的选择
- 6.0 ETL注意事项
ETL 是BI(商业智能)的核心和灵魂。能够按照一定的规则则集成并提高数据的价值。
1.0 ETL前言
如果说数据仓库📦的模型设计是一座大厦的设计蓝图,数据是砖瓦的话,那么ETL就是建设大厦的过程。在整个项目中最难部分是用户需求分析和模型设计,而ETL规则设计和实施则是工作量最大的,约占整个项目的60%~80%,这是国内外从众多实践中得到的普遍共识。
2.0 ETL 概述
如上图,etl实际上的就是数据的抽取(extract)和清洗(cleaning),转换(transform),装载(load)的过程。这一过程是搭载数据仓库的基础环节,同时也是重要是的环节,只有数据的提取的完整性和规范性,保证需求的不变情况下,建立模型是工作量最为复杂并且交互性最强的数据提炼环节。按照最终的模型将数据(文字,视频,音频,图片;抽象数据:表情标签,生理反应,自然现象等)。当然目前抽象的数据正是人工智能研究的方向,而且大数据不仅仅可以提供人工智能前期准备,中期验证和检验,后期的维护都是必不可少的。
ETL的质量问题具体表现为正确性、完整性、一致性、完备性、有效性、时效性和可获取性等几个特性。而影响质量问题的原因有很多,由系统集成和历史数据造成的原因主要包括:业务系统不同时期系统之间数据模型不一致;业务系统不同时期业务过程有变化;旧系统模块在运营、人事、财务、办公系统等相关信息的不一致;遗留系统和新业务、管理系统数据集成不完备带来的不一致性。
3.0 ETL 数据集成
实现ETL,首先要实现ETL转换的过程。它可以集中地体现为以下几个方面:
空值处理——可捕获字段空值,进行加载或替换为其他含义数据,并可根据字段空值实现分流加载到不同目标库。
规范化数据格式 可实现字段格式约束定义,对于数据源中时间、数值、字符等数据,可自定义加载格式。
拆分数据——依据业务需求对字段可进行分解。例,主叫号 861082585313-8148,可进行区域码和电话号码分解。
验证数据正确性——可利用Lookup及拆分功能进行数据验证。例如,主叫号861082585313-8148,进行区域码和电话号码分解后,可利用Lookup返回主叫网关或交换机记载的主叫地区,进行数据验证。
数据替换——对于因业务因素,可实现无效数据、缺失数据的替换。
Lookup——查获丢失数据 Lookup实现子查询,并返回用其他手段获取的缺失字段,保证字段完整性。
建立ETL过程的主外键约束 对无依赖性的非法数据,可替换或导出到错误数据文件中,保证主键唯一记录的加载。
4.0 ETL工具应用
ETL工具有:OWB(Oracle Warehouse Builder)、ODI(Oracle Data Integrator)、Informatic Power Center、Trinity、AICloud ETL、DataStage、Repository Explorer、Beeload、Kettle、Data Spider。
ETL工具的典型代表有:nformatica、Datastage、OWB、微软DTS、Beeload、Kettle……
5.0 ETL工具的选择
在数据集成中该如何选择ETL工具呢?一般来说需要考虑以下几个方面:
(1)对平台的支持程度。
(2)对数据源的支持程度。
(3)抽取和装载的性能是不是较高,且对业务系统的性能影响大不大,倾入性高不高。
(4)数据转换和加工的功能强不强。
(5)是否具有管理和调度功能。
(6)是否具有良好的集成性和开放性。
6.0 ETL注意事项
第一,如果条件允许,可利用数据中转区对运营数据进行预处理,保证集成与加载的高效性;
第二,如果ETL的过程是主动“拉取”,而不是从内部“推送”,其可控性将大为增强;
第三,ETL之前应制定流程化的配置管理和标准协议;
第四,关键数据标准至关重要。ETL面临的最大挑战是当接收数据时其各源数据的异构性和低质量。以电信为例,A系统按照统计代码管理数据,B系统按照账目数字管理,C系统按照语音ID管理。当ETL需要对这三个系统进行集成以获得对客户的全面视角时,这一过程需要复杂的匹配规则、名称/地址正常化与标准化。而ETL在处理过程中会定义一个关键数据标准,并在此基础上,制定相应的数据接口标准。