Занятие 1. Создание проекта и учебного пакета
На этом занятии будет рассмотрено создание простого ETL-пакета, который будет получать данные из отдельного источника плоских файлов, преобразовывать полученные данные при помощи двух компонентов преобразования «Уточняющий запрос», а затем записывать эти данные в таблицу фактов FactCurrencyRate, находящуюся в базе данных AdventureWorksDW. На этом занятии предстоит узнать, как создавать новые пакеты, добавлять и настраивать соединения с источниками данных и назначениями, а также работать с новыми компонентами потока управления и потока данных.
Важно! |
---|
Для выполнения упражнений этого учебника нужен образец базы данных 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
При работе с данными источника плоских файлов важно понимать, как диспетчер соединений с плоскими файлами интерпретирует данные плоских файлов. Если плоский файл является документом в Юникоде, диспетчер соединений с плоскими файлами определяет все столбцы как [DT_WSTR] с шириной, по умолчанию равной 50. Если же исходный файл является документом в кодировке ANSI, столбцы определяются как [DT_STR] с шириной 50. Возможно, потребуется изменить эти настройки, чтобы оптимизировать столбцы для конкретных данных. Чтобы сделать это, необходимо узнать тип данных в назначении, куда будут заноситься эти данные, а затем выбрать правильный тип данных в диспетчере соединений с плоскими файлами.
Анализ назначения
Конечным назначением источника данных является таблица фактов FactCurrencyRate в базе данных AdventureWorksDW. Таблица фактов FactCurrencyRate имеет четыре столбца и связи с двумя таблицами измерений, как показано в следующей таблице.
Имя столбца | Тип данных | Таблица уточняющих запросов | Уточняющий столбец |
---|---|---|---|
AverageRate |
float |
Нет |
Нет |
CurrencyKey |
int (FK) |
DimCurrency |
CurrencyKey (PK) |
TimeKey |
Int (FK) |
DimTime |
CurrencyKey (PK) |
EndOfDayRate |
float |
Нет |
Нет |
Сопоставление совместимых данных источника с назначением
Анализ форматов данных источника и назначения показывает, что для значений CurrencyKey и TimeKey необходимы преобразования «Уточняющий запрос». Преобразования, которые будут выполнены, получат значения CurrencyKey и TimeKey, используя альтернативные ключи из таблиц измерений DimCurrency и DimTime.
Столбец плоских файлов | Имя таблицы | Имя столбца | Тип данных |
---|---|---|---|
0 |
FactCurrencyRate |
AverageRate |
Float |
1 |
DimCurrency |
CurrencyAlternateKey |
nchar(3) |
2 |
DimTime |
FullDateAlternateKey |
Datetime |
3 |
FactCurrencyRate |
EndOfDayRate |
Float |
Задачи занятия
Это занятие содержит следующие задачи:
- Создание нового проекта служб Integration Services
- Добавление и настройка диспетчера соединений с плоскими файлами
- Добавление и настройка диспетчера соединений OLE DB
- Добавление задачи «Поток данных» в пакет
- Добавление и настройка источника плоских файлов
- Добавление и настройка преобразований «Уточняющий запрос»
- Добавление и настройка назначения OLE DB
- Облегчение чтения пакета, созданного на занятии 1
- Тестирование учебного пакета, созданного на занятии 1