第 1 课:使用 SQL Server Integration Services (SSIS) 创建项目和基本包

适用于: SQL Server Azure 数据工厂中的 SSIS Integration Runtime

在本课中,你将创建一个简单的提取、转换和加载 (ETL) 包。 该包从单个平面文件源提取数据,使用两个查找转换组件转换数据,并将转换后的数据写入 AdventureWorksDW2022 示例数据库中的 FactCurrencyRate 事实数据表的副本。 在本课中,将了解如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。

在创建包之前,需要了解源数据和目标数据中使用的格式。 然后,就可定义将源数据映射到目标数据所需的转换。

先决条件

本教程依赖于 Microsoft SQL Server Data Tools、一组示例包和一个示例数据库。

查看源数据

在本教程中,源数据是名为“SampleCurrencyData.txt”的平面文件中的一组历史货币数据。 源数据具有以下四列:货币的平均汇率、货币键、日期键和收盘汇率。

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

1.00070049USD9/3/05 0:001.001201442
1.00020004USD9/4/05 0:001
1.00020004USD9/5/05 0:001.001201442
1.00020004USD9/6/05 0:001
1.00020004USD9/7/05 0:001.00070049
1.00070049USD9/8/05 0:000.99980004
1.00070049USD9/9/05 0:001.001502253
1.00070049USD9/10/05 0:000.99990001
1.00020004USD9/11/05 0:001.001101211
1.00020004USD9/12/05 0:000.99970009

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

查看目标数据

源数据的目标是 AdventureWorksDW2022 中“FactCurrencyRate”事实数据表的副本。 “FactCurrencyRate”事实数据表有四列,并且与两个维度表有关,如下表所示

列名 数据类型 查找表 查找列
AverageRate float
CurrencyKey int (FK) DimCurrency CurrencyKey (PK)
DateKey int (FK) DimDate DateKey (PK)
EndOfDayRate float

源数据映射到目标

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

平面文件列 表名称 列名 数据类型
0 FactCurrencyRate AverageRate float
1 DimCurrency CurrencyAlternateKey nchar(3)
2 DimDate FullDateAlternateKey date
3 FactCurrencyRate EndOfDayRate float

课程任务

本课程包含以下任务:

开始课程

步骤 1:创建新的 Integration Services 项目