ETL读书报告---数据仓库设计的关键部分-Extraction+Transform+Load 之Extraction(数据抽取)

来源:互联网 发布:尘埃 mac 编辑:程序博客网 时间:2024/05/22 12:23

     最近在学数据仓库的知识,看了一些关于ETL的英文书,写一些读书报告供大家批评+指正+分享。先写些关于数据抽取的报告吧。

     数据仓库简单的说是基于主题(subject),集成(integration),历史(history)的数据的有效组织。构建一个数据仓库,集成数据是非常关键的部分。因为构建数据仓库所需要的数据源(Data Resource)可能来自不同的平台,不同的系统,而且并不是所有的数据都是我们需要的(基于商业需求,数据仓库是需求驱动的)。Extraction System(抽取系统)要做的工作就是从各种数据源中按照数据建模专家构建的数据模型(商业需求--维度模型 Dimensions Model)抽取需要的数据。这是十分重要的步骤。

     当你在部署数据抽取系统的时候,建议按照如下步骤进行:

     part one:The Logical Data Map(逻辑映射数据文档)

     在实施数据抽取之前,先构造逻辑映射数据文档。造逻辑映射数据文档主要是部署整个抽取过程的需要做的事情,包括从哪里抽取,怎么抽取,抽取什么字段等信息,它可以说是抽取部分的元数据(Meta Data)

      逻辑映射数据文档的组成部分:

  • Target table name 目标表名
  • Target column name目标字段名
  • Table type   表类型
  • SCD (slowly changing dimension) type 渐变维度类型
  • Source database 源数据库
  • Source table name源表
  • Source column name源表字段
  • Transformation 转换

      目标就是数据建模时构造的模型表包括维度表(dimensions table)和事实表(fact table),也就是后面的表类型。渐变维度是在维度建模中可能缓慢变化的维度字段。另外转换是描述如何抽取的过程,一般表述成SQL语句。逻辑映射数据文档其实是抽取系统的蓝图。

     如何构造这样的逻辑映射数据文档呢?主要分两个部分:

  • 数据发现(data discovery phase)
  • 数据异常探测(anomaly detecting phase)

      其中主要要做的事情:

  •  收集和归档源系统。(可以根据用户组来收集有用的数据源) 。追踪源系统。找出它的管理员和责任者。写成追踪报告。
  • 确定最原始的数据集合
  • 分析源系统,获得更好的了解源系统的内容。通常可以通过系统的ER图。如果ER图不存在,试图建立ER图(逆向工程)。注意源系统表等的数据说明在看ER图之前。并询问专业人才源系统内在不为人知的逻辑和增量变化。
  •  内容分析。检查异常数据的存在
  • 检查是否存在NULL值存在。
    1.如果NULL作为外键时,要使用外连接。
    2. 如果不是,按照商业规则决定是否处理NULL值。
    3. 建议加载到数据仓库时,设置默认值代替NULL值
  • 时间date的特殊性。date被存储成文本类型,找出来。
  • 整合不同的数据源

Part two: The Challenge of Extracting from Disparate Platforms(待续)

 

原创粉丝点击