Udostępnij przez


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 AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.

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