Урок 1. Создание проекта и базового пакета с помощью служб SQL Server Integration Services (SSIS)
Область применения: среда выполнения интеграции SSIS SQL Server
в Фабрика данных Azure
На этом занятии вы создадите простой пакет извлечения, преобразования и загрузки (ETL). Пакет извлекает данные из одного источника неструктурированных файлов, преобразует данные с помощью двух преобразований подстановки и записывает преобразованные данные в копию таблицы фактов FactCurrencyRate в AdventureWorksDW2022
примере базы данных. На этом занятии вы узнаете, как создавать пакеты, добавлять и настраивать подключения к источникам данных и назначениям, а также работать с новыми компонентами потока управления и потока данных.
Перед созданием пакета необходимо ознакомиться с форматированием в источнике данных и назначении. Затем вы готовы определить преобразования, необходимые для сопоставления исходных данных с назначением.
Необходимые компоненты
Для выполнения упражнений в этом учебнике требуются средства Microsoft SQL Server Data Tools, набор примеров пакетов и образец базы данных.
Инструкции по установке SQL Server Data Tools см. на странице Скачать SQL Server Data Tools.
Чтобы скачать все пакеты занятий этого учебника, выполните указанные ниже действия.
Перейдите к учебным файлам для служб Integration Services.
Нажмите кнопку Скачать.
Выберите файл Creating a Simple 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
При работе с исходными данными неструктурированных файлов важно понимать, как диспетчер подключений к неструктурированным файлам интерпретирует их. Если неструктурированный файл является документом в Юникоде, диспетчер соединений с неструктурированными файлами определяет все столбцы как [DT_WSTR] с шириной, по умолчанию равной 50. Если неструктурированный файл является документом в кодировке ANSI, столбцы определяются как [DT_STR] с шириной по умолчанию, равной 50. Возможно, потребуется изменить эти настройки, чтобы оптимизировать столбцы для конкретных данных. Необходимо узнать тип данных в назначении, а затем выбрать этот тип в диспетчере подключений к неструктурированным файлам.
Обзор данных назначения
Назначение для исходных данных — это копия таблицы фактов FactCurrencyRate в AdventureWorksDW2022
. Таблица фактов 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 |
Задачи занятия
Это занятие содержит следующие задачи.
Шаг 2. Добавление и настройка диспетчера соединений с неструктурированными файлами
Шаг 5. Добавление и настройка источника неструктурированного файла