• ETL学习之四:SQL Server Integration Services入门


      ETL学习之四:SQL Server Integration Services入门

             SSIS就是微软在SQL SERVER2005上对DTS的升级,不得不说,微软在BI上是花了很大功夫的,包括提供了SSIS,SSAS,SSRS等多个工具,从创建数据仓库,到从元数据抽取数据,到创建维度和挖掘结构,挖掘模型,训练,报表模型设计,报表设计,发布,非常方便和强大。先从ETL开始,看看利用这些工具如何将元数据和数据仓库联系起来,以下转自MSDN:

          

         在本课中,您将创建一个简单 ETL 包,该包可以从单个平面文件源提取数据,使用两个查找转换组件转换该数据,然后将该数据写入 AdventureWorksDW 中的 FactCurrencyRate 事实数据表。在本课中,您还将学习如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。

    重要事项:
    本教程需要 AdventureWorksDW 示例数据库。有关安装和部署 AdventureWorksDW 的详细信息,请参阅: 运行安装程序安装 AdventureWorks 示例数据库和示例.

    了解包要求

    在创建包之前,需要充分了解在源数据和目标数据中使用的格式。了解了这两种数据格式后,才能定义将源数据映射到目标数据所需的转换。

    查看源

    对于本教程,源数据是一组包含在平面文件 SampleCurrencyData.txt 中的历史货币数据。源数据有以下四列:货币的平均汇率、货币键、日期键和当天汇率。

    下面是 SampleCurrencyData.txt 文件中所包含的源数据示例:

    1.00010001   ARS   9/3/2001 0:00    0.99960016

    1.00010001   ARS   9/4/2001 0:00    1.001001001

    1.00020004   ARS   9/5/2001 0:00    0.99990001

    1.00020004   ARS   9/6/2001 0:00    1.00040016

    1.00050025   ARS   9/7/2001 0:00    0.99990001

    1.00050025   ARS   9/8/2001 0:00    1.001001001

    1.00050025   ARS   9/9/2001 0:00    1

    1.00010001   ARS   9/10/2001 0:00   1.00040016

    1.00020004   ARS   9/11/2001 0:00   0.99990001

    1.00020004   ARS   9/12/2001 0:00   1.001101211

     

    在使用平面文件源数据时,需要了解平面文件连接管理器如何解释平面文件数据,这一点很重要。如果平面文件源是 Unicode 编码的,则平面文件连接管理将所有列定义为 [DT_WSTR],默认列宽为 50。如果平面文件源是 ANSI 编码的,则将列定义为 [DT_STR],默认列宽为 50 。您可能必须更改这些默认设置,才能使字符串列类型与所使用的数据更相符。为此,您需要查看将写入数据的目标的数据类型,然后在平面文件连接管理器中选择正确的类型。

    查看目标

    源数据的最终目标是 AdventureWorksDW 中的 FactCurrencyRate 事实数据表。FactCurrencyRate 事实数据表有四列,并且与两个维度表有关系,如下表所示。

    列名 数据类型 查找表 查找列

    AverageRate

    float

    CurrencyKey

    int (FK)

    DimCurrency

    CurrencyKey (PK)

    TimeKey

    Int (FK)

    DimTime

    TimeKey (PK)

    EndOfDayRate

    float

    将源数据映射为与目标兼容

    对源数据和目标数据的分析指出需要查找 CurrencyKey 和 TimeKey 值。将执行这些查找的转换通过使用 DimCurrency 和 DimTime 维度表中的备用键来获取 CurrencyKey 和 TimeKey 值。

    平面文件列 表名 列名 数据类型

    0

    FactCurrencyRate

    AverageRate

    Float

    1

    DimCurrency

    CurrencyAlternateKey

    nchar(3)

    2

    DimTime

    FullDateAlternateKey

    Datetime

    3

    FactCurrencyRate

    EndOfDayRate

    Float

     

        

  • 相关阅读:
    sql server 2005 设置用于复制的文本类型大小 [转]
    C#模拟post提交的实现方法
    项目经理角色定位
    无线不能连接 源于Wireless Zero Configuration服务不能自动启动
    软件版本Beta,RC,Demo,Build等是什么意思呢?
    用PUSHD/POPD获得bat文件执行的路径
    Windows下在本机创建SVN服务
    phpAmin如何导入导出大数据文件?
    整理的英语短语
    [转]项目管理心得:一个项目经理的个人体会、经验总结
  • 原文地址:https://www.cnblogs.com/millen/p/1416492.html
Copyright © 2020-2023  润新知