ETL学习之四:SQL Server Integration Services入门
2009-04-13 08:10
351 查看
ETL学习之四:SQLServerIntegrationServices入门
SSIS就是微软在SQLSERVER2005上对DTS的升级,不得不说,微软在BI上是花了很大功夫的,包括提供了SSIS,SSAS,SSRS等多个工具,从创建数据仓库,到从元数据抽取数据,到创建维度和挖掘结构,挖掘模型,训练,报表模型设计,报表设计,发布,非常方便和强大。先从ETL开始,看看利用这些工具如何将元数据和数据仓库联系起来,以下转自MSDN:
在本课中,您将创建一个简单ETL包,该包可以从单个平面文件源提取数据,使用两个查找转换组件转换该数据,然后将该数据写入AdventureWorksDW中的FactCurrencyRate事实数据表。在本课中,您还将学习如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。
下面是SampleCurrencyData.txt文件中所包含的源数据示例:
在使用平面文件源数据时,需要了解平面文件连接管理器如何解释平面文件数据,这一点很重要。如果平面文件源是Unicode编码的,则平面文件连接管理将所有列定义为[DT_WSTR],默认列宽为50。如果平面文件源是ANSI编码的,则将列定义为[DT_STR],默认列宽为50。您可能必须更改这些默认设置,才能使字符串列类型与所使用的数据更相符。为此,您需要查看将写入数据的目标的数据类型,然后在平面文件连接管理器中选择正确的类型。
SSIS就是微软在SQLSERVER2005上对DTS的升级,不得不说,微软在BI上是花了很大功夫的,包括提供了SSIS,SSAS,SSRS等多个工具,从创建数据仓库,到从元数据抽取数据,到创建维度和挖掘结构,挖掘模型,训练,报表模型设计,报表设计,发布,非常方便和强大。先从ETL开始,看看利用这些工具如何将元数据和数据仓库联系起来,以下转自MSDN:
在本课中,您将创建一个简单ETL包,该包可以从单个平面文件源提取数据,使用两个查找转换组件转换该数据,然后将该数据写入AdventureWorksDW中的FactCurrencyRate事实数据表。在本课中,您还将学习如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。
重要事项: |
---|
本教程需要AdventureWorksDW示例数据库。有关安装和部署AdventureWorksDW的详细信息,请参阅:运行安装程序安装AdventureWorks示例数据库和示例. |
了解包要求
在创建包之前,需要充分了解在源数据和目标数据中使用的格式。了解了这两种数据格式后,才能定义将源数据映射到目标数据所需的转换。查看源
对于本教程,源数据是一组包含在平面文件SampleCurrencyData.txt中的历史货币数据。源数据有以下四列:货币的平均汇率、货币键、日期键和当天汇率。下面是SampleCurrencyData.txt文件中所包含的源数据示例:
1.00010001ARS9/3/20010:000.99960016
1.00010001ARS9/4/20010:001.001001001
1.00020004ARS9/5/20010:000.99990001
1.00020004ARS9/6/20010:001.00040016
1.00050025ARS9/7/20010:000.99990001
1.00050025ARS9/8/20010:001.001001001
1.00050025ARS9/9/20010:001
1.00010001ARS9/10/20010:001.00040016
1.00020004ARS9/11/20010:000.99990001
1.00020004ARS9/12/20010:001.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 |
相关文章推荐
- java 从零开始,学习笔记之基础入门<SQL_Server_视图_函数_存储过程_触发器等>(二十三)
- Sql server 导入、导出时出现一个错误,但 SQL Server Integration Services 向导未做好处理
- java 从零开始,学习笔记之基础入门<SQL_Server>(二十一)
- 学习如何使用Sql Server Analysis Services进行数据挖掘(1)
- SQL Server 2005的又一强大功能---(SQL Server Integration Services,SSIS)
- SQL Server Integration Services教程 1: 创建简单ETL包
- Microsoft SQL Server Integration Service文章总结---转载学习
- 一步一步学习sqlserver BI--ETL设计
- Beginners Guide to SQL Server Integration Services Using Visual Studio 2005
- SQL Server Integration Services (SSIS)的体系结构图
- [原]java专业程序代写(qq:928900200),学习笔记之基础入门<SQL_Server>(二十一)
- SQL Server Integration Services教程2: 添加循环
- SQL Server Integration Services 服务启动失败
- 一步一步学习sqlserver BI--ETL设计 (2)
- 第一章 什么是SQL Server Integration Services (ssis) 系统。
- SQL Server Integration Services教程4: 添加日志记录
- java 从零开始,学习笔记之基础入门<SQL_Server_常用查询>(二十二)
- SQL Server Integration Services
- SQL Server Integration Services教程3 :添加包配置
- 一步一步学习sqlserver BI--ETL设计