Lekcja 1. Tworzenie projektu i podstawowego pakietu przy użyciu usług SQL Server Integration Services (SSIS)

Dotyczy:SQL Server SSIS Integration Runtime w ramach usługi Azure Data Factory

W tej lekcji utworzysz prosty pakiet wyodrębniania, przekształcania i ładowania (ETL). Pakiet wyodrębnia dane z pojedynczego źródła płaskiego pliku, przekształca dane przy użyciu dwóch transformacji wyszukiwania, a następnie zapisuje przekształcone dane do kopii tabeli faktów FactCurrencyRate w przykładowej bazie danych AdventureWorksDW2025. W ramach tej lekcji utworzysz nowe pakiety, dodasz i skonfigurujesz połączenia źródła danych i miejsca docelowego oraz będziesz pracować z nowymi składnikami przepływu sterowania i przepływu danych.

Przed utworzeniem pakietu należy zrozumieć formatowanie używane zarówno w danych źródłowych, jak i w miejscu docelowym. Następnie możesz zdefiniować przekształcenia niezbędne do zamapowania danych źródłowych na miejsce docelowe.

Wymagania wstępne

Ten samouczek opiera się na narzędziach Microsoft SQL Server Data Tools, zestawie przykładowych pakietów i przykładowej bazie danych.

Uwaga / Notatka

Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorksDW2025, AdventureWorksLT2025 lub AdventureWorks2025, którą można pobrać z repozytorium GitHub Azure Data SQL Samples Repository.

Aby zainstalować narzędzia SQL Server Data Tools, zobacz Instalowanie narzędzi SQL Server Data Tools (SSDT) dla programu Visual Studio.

Aby pobrać wszystkie pakiety lekcji dla tego samouczka:

  1. Przejdź do plików samouczka Integration Services.
  2. Wybierz przycisk Pobierz .
  3. Creating a Simple ETL Package.zip Wybierz plik, a następnie wybierz pozycję Dalej.
  4. Po pobraniu pliku rozpakuj jego zawartość do katalogu lokalnego.

Przyjrzyj się źródłowym danym

W tym samouczku dane źródłowe są zestawem historycznych danych walutowych w pliku prostym o nazwie SampleCurrencyData.txt. Dane źródłowe mają następujące cztery kolumny: średni kurs waluty, klucz waluty, klucz daty i stopę końcową dnia.

Oto przykład danych źródłowych w SampleCurrencyData.txt pliku:

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

Podczas pracy z danymi źródła plików prostych ważne jest, aby zrozumieć, w jaki sposób menedżer połączeń plików prostych interpretuje dane pliku prostego. Jeśli źródłem pliku prostego jest Unicode, menedżer połączeń plików prostych definiuje wszystkie kolumny tak, jak [DT_WSTR] z domyślną szerokością kolumny 50. Jeśli źródło pliku prostego jest zakodowane w formacie ANSI, kolumny są definiowane jako [DT_STR] z domyślną szerokością kolumny 50. Prawdopodobnie trzeba zmienić te wartości domyślne, aby typy kolumn ciągu były bardziej odpowiednie dla danych. Należy przyjrzeć się typowi danych miejsca docelowego, a następnie wybrać ten typ w menedżerze połączeń z plikiem płaskim.

Przyjrzyj się danym docelowym

Miejscem docelowym dla danych źródłowych jest kopia tabeli faktów FactCurrencyRate w pliku AdventureWorksDW2025. Tabela FactCurrencyRate faktów zawiera cztery kolumny i ma relacje z dwiema tabelami wymiarów, jak pokazano w poniższej tabeli.

Nazwa kolumny Typ danych Tabela wyszukiwania Kolumna odnośnika
AverageRate float Żaden Żaden
CurrencyKey int (FK) 1 DimCurrency CurrencyKey (PK) 2
DateKey int (FK) 1 DimDate DateKey (PK) 2
EndOfDayRate float Żaden Żaden

1 klucz FK: klucz obcy

2 PK : klucz podstawowy

Mapuj dane źródłowe na miejsce docelowe

Nasza analiza formatów danych źródłowych i docelowych wskazuje, że wyszukiwania są niezbędne dla wartości CurrencyKey i DateKey. Przekształcenia, które wykonują te wyszukiwania, pobierają te wartości przy użyciu kluczy alternatywnych z tabel wymiarów DimCurrency i DimDate.

Kolumna pliku płaskiego Nazwa tabeli Nazwa kolumny Typ danych
0 FactCurrencyRate AverageRate float
1 DimCurrency CurrencyAlternateKey nchar(3)
2 DimDate FullDateAlternateKey date
3 FactCurrencyRate EndOfDayRate float

Zadania lekcji

Następny krok