第 1 课:使用 SQL Server Integration Services (SSIS) 创建项目和基本包
适用于: SQL Server Azure 数据工厂中的 SSIS Integration Runtime
在本课中,你将创建一个简单的提取、转换和加载 (ETL) 包。 该包从单个平面文件源提取数据,使用两个查找转换组件转换数据,并将转换后的数据写入 AdventureWorksDW2022
示例数据库中的 FactCurrencyRate 事实数据表的副本。 在本课中,将了解如何创建新包、添加和配置数据源和目标连接以及使用新的控制流和数据流组件。
在创建包之前,需要了解源数据和目标数据中使用的格式。 然后,就可定义将源数据映射到目标数据所需的转换。
先决条件
本教程依赖于 Microsoft SQL Server Data Tools、一组示例包和一个示例数据库。
要安装 SQL Server Data Tools,请参阅下载 SQL Server Data Tools。
要下载本教程的所有课程包,请执行以下操作:
选择“下载”按钮。
选择“创建简单的 ETL Package.zip”文件,然后选择“下一步”。
下载文件后,将其内容解压缩到本地目录。
要安装和部署
AdventureWorksDW2022
示例数据库,请参阅安装和配置 AdventureWorks 示例数据库 - SQL。
查看源数据
在本教程中,源数据是名为“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 |
课程任务
本课程包含以下任务: