ETL工具箱3 抽取(3.1逻辑映射分析)

在开始创建抽取系统之前,需要一份逻辑数据映射,它描述了那些提交到前台的表中原始字段和最终目标字段之间的关系。该文档贯穿ETL系

物理之前设计逻辑:

1 有一个规划 2确定候选的数据源 3使用数据评估分析工具分析源系统 4 接受数据线和业务规则的遍历 5充分理解数据仓库数据模型 6 验证计算和公式的有效性

逻辑数据映射的组成:目标表名称,表类型,SCD(缓慢变化维度),源数据库,源表名称,源列名称,转换。

这个表必须清洗的描述在转换的过程中包含的流程,不能有任何疑问的地方。

表类型给了我们数据加载过程执行的次序--》先是维表,然后是事实表。与表类型一起,加载维表过程SCD类型很重要,开发之前需要理解哪些列需要保留历史信息以及如何获取历史信息所需的策略。

在源系统得到确认和分析之前完整的逻辑数据映射是不存在的,源系统分析通常分为两个主要阶段:数据发现阶段,异常检测阶段。

数据发现阶段:需要ETL小组深入到数据的需求中,确定每一个需要加载到数据仓库中的源系统,表和属性,为每一个元素确定适当的源或者记录系统是一个挑战,必须仔细评估。完整的分析可以减少在ETL过程中由于使用错误的源而导致的数周时间的工期延误。要收集和文档化源系统,要问:还有谁在使用这些数据。要保持跟踪源系统,一旦源系统被确定,就要说明这些系统的意义以及谁对它们负责,原系统跟踪报告:主题域(数据集市名称),接口名称,业务名称,优先级,部门业务用法,业务所有者,技术所有者,DBMS,用户,DB大小,DB复杂度,每日交易数。要确定记录系统,是指数据的发源地,很多企业数据是跨许多不同系统冗余的,导致同样数据有不同版本,需要问不同的人是不是代表一个意思。

距离原始数据源越远,抽取到损坏数据的风险就越大,除非特殊情况,要保持实际的数据源只来自记录系统。

分析源系统:使用来自数据评估的结果。如果是关系型技术,通过ER图来对所选的记录系统加深理解。如果没有可以利用反向工程获得一个记录系统的ER图。ER图的主要特征如下:

1 唯一标志和自然键,要小心渐变维度。2 数据类型 3表之间关系(当从不同的数据源往一个目标表上加载数据的时候,一种好的做法是将所有的数据源放在一个数据建模工具中并创建所有的关系) 4 离散关系 5 关联和列的基数

数据内容分析:通常遇到的不规则数据列表如下:

NULL值:检查源数据库中每一个外键是否有NULL值。如果存在NULL值,必须对表进行外关联。如果NULL不是外键而是一个列,那么必须有一个处理NULL数据的业务规则。只要允许,数据仓库加载数据一定用默认值代替NULL

非日期字段中的日期

ETL过程中收集业务规则

数据模型小组需要的业务规则和ETL小组需要的业务规则很大。

集成异构数据源

整合数据不仅仅是简单的把不同来源的数据收集到一个资料库中。(比如大公司收购小公司,需要业务集成)。在数据仓库中,规范化的维度是统一整个企业分离的数据系统的一致性设计。

当一个维度是由来自几个独立系统的数据组成的时候,很重要的一点是把这些系统中的每一个唯一标志包含到数据仓库的目标维度中去。那些标志必须是用户可见的,确保他们能理解这个维度与其数据的对应关系,这样才可以回溯到他们的交易系统

1标志源系统(找出来维度和事实所在的各种源系统)2理解源系统(数据评估,发现数据异常数据质量问题,发布可靠性报告)3创建记录匹配逻辑(设计匹配规则使得分离的系统中实体可以关联起来,不是为了提供匹配方案,而是为了获得对客户关联关系的理解)4建立生存规则(比如发生数据冲突,业务规则必须决定当属性重叠的时候哪个系统占有压倒性地位)5 建立非键属性的业务规则(一个属性存在不同的记录中,为非键属性分配业务规则)6 加载一致的维度(考虑scd(缓慢变化的维度))

原文地址:https://www.cnblogs.com/honkcal/p/2692416.html