Udostępnij przez


Ładowanie danych za pomocą usług Integration Services do magazynu danych równoległych

Zawiera informacje referencyjne i informacje dotyczące wdrażania służące do ładowania danych do usługi SQL Server Parallel Data Warehouse przy użyciu pakietów usług SQL Server Integration Services (SSIS).

Podstawy

Integration Services to składnik programu SQL Server służący do wyodrębniania, przekształcania i ładowania (ETL) danych o wysokiej wydajności i jest często używany do wypełniania i aktualizowania magazynu danych.

Karta docelowa PDW to składnik Usług Integracyjnych, który umożliwia ładowanie danych do PDW za pomocą pakietów dtsx Integration Services. W przepływie pracy pakietu dla systemu platformy analizy (PDW) można ładować i scalać dane z wielu źródeł i ładować dane do wielu miejsc docelowych. Obciążenia występują równolegle, zarówno w pakiecie, jak i wśród wielu pakietów uruchomionych jednocześnie, maksymalnie 10 obciążeń uruchomionych równolegle na tym samym urządzeniu.

Oprócz zadań opisanych w tym temacie można używać innych funkcji usług Integration Services do filtrowania, przekształcania, analizowania i czyszczenia danych przed załadowaniem ich do magazynu danych. Możesz również ulepszyć przepływ pracy pakietu, uruchamiając instrukcje SQL, uruchamiając pakiety podrzędne lub wysyłając pocztę.

Aby uzyskać pełną dokumentację usług Integration Services, zobacz sql Server Integration Services.

Metody uruchamiania pakietu usług Integration Services

Użyj jednej z tych metod, aby uruchomić pakiet usług Integration Services.

Uruchamianie z programu SQL Server 2008 R2 Business Intelligence Development Studio (BIDS)

Aby uruchomić pakiet w BIDS, kliknij prawym przyciskiem myszy pakiet i wybierz Wykonaj pakiet.

Domyślnie usługa BIDS uruchamia pakiety przy użyciu 64-bitowych plików binarnych. Jest to określane przez właściwość pakietu Run64BitRuntime. Aby ustawić tę właściwość, przejdź do Eksplorator Rozwiązań, kliknij prawym przyciskiem myszy projekt i wybierz Właściwości . Na stronach właściwości usługi Integration Servicesprzejdź do Właściwości konfiguracji i wybierz pozycję Debugowanie . Zobaczysz właściwość Run64BitRuntime w obszarze Opcje debugowania. Aby użyć 32-bitowych środowisk uruchomieniowych, ustaw tę opcję na wartość False. Aby użyć 64-bitowych środowisk uruchomieniowych, ustaw tę opcję na wartość True.

Uruchamianie z narzędzi SQL Server 2012 SQL Server Data Tools

Aby uruchomić pakiet z poziomu narzędzi SQL Server Data Tools, kliknij prawym przyciskiem myszy pakiet i wybierz polecenie Wykonaj pakiet.

Uruchamianie z poziomu programu PowerShell

Aby uruchomić pakiet z poziomu środowiska Windows PowerShell, użyj narzędzia dtexec: dtexec /FILE <packagePath>

Na przykład dtexec /FILE "C:\Users\User1\Desktop\Package.dtsx"

Uruchamianie z wiersza polecenia systemu Windows

Aby uruchomić pakiet z poziomu wiersza polecenia systemu Windows, użyj narzędzia dtexec: dtexec /FILE <packagePath>

Na przykład: dtexec /FILE "C:\Users\User1\Desktop\Package.dtsx"

Typy danych

W przypadku ładowania danych ze źródła danych do bazy danych PDW programu SQL Server przy użyciu usług Integration Services dane są najpierw mapowane z danych źródłowych na typy danych usług Integration Services. To pozwala na mapowanie danych z wielu źródeł danych do wspólnego zestawu typów danych.

Następnie dane są mapowane z usług Integration Services na typy danych PDW programu SQL Server. Dla każdego typu danych PDW programu SQL Server w poniższej tabeli wymieniono typy danych usług Integration Services, które można przekonwertować na typ danych PDW programu SQL Server.

Typ danych PDW Typy danych usług Integration Services mapujące na typ danych PDW
BIT DT_BOOL
BIGINT DT_I1, DT_I2, DT_I4, DT_I8, DT_UI1, DT_UI2, DT_UI4
CHAR DT_STR
DATA DT_DBDATE
DATA I CZAS DT_DATE, DT_DBDATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2
DATETIME2 DT_DATE, DT_DBDATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2
Przesunięcie daty i czasu (DATETIMEOFFSET) DT_WSTR
DZIESIĘTNY DT_DECIMAL, DT_I1, DT_I2, DT_I4, DT_I4, DT_I8, DT_NUMERIC, DT_UI1, DT_UI2, DT_UI4, DT_UI8
SPŁAWIK DT_R4, DT_R8
INT DT_I1, DTI2, DT_I4, DT_UI1, DT_UI2
PIENIĄDZE DT_CY
NCHAR DT_WSTR
NUMERYCZNY DT_DECIMAL, DT_I1, DT_I2, DT_I4, DT_I8, DT_NUMERIC, DT_UI1, DT_UI2, DT_UI4, DT_UI8
NVARCHAR DT_WSTR, DT_STR
PRAWDZIWY DT_R4
SMALLDATETIME (mała data i czas) DT_DBTIMESTAMP2
SMALLINT DT_I1, DT_I2, DT_UI1
MałePieniądze DT_R4
CZAS DT_WSTR
TINYINT DT_I1
VARBINARY DT_BYTES
VARCHAR DT_STR

Ograniczona obsługa precyzji typu danych

PdW generuje błąd walidacji, jeśli mapujesz DT_NUMERIC lub DT_DECIMAL kolumnę wejściową zawierającą wartość z dokładnością większą niż 28.

nieobsługiwane typy danych

Plik PDW programu SQL Server nie obsługuje następujących typów danych usług Integration Services:

  • DT_DBTIMESTAMPOFFSET

  • DT_DBTIME2

  • DT_GUID

  • DT_IMAGE

  • DT_NTEXT

  • DT_TEXT

Aby załadować kolumny zawierające dane tych typów do SQL Server PDW, należy dodać przekształcenie konwersji danych na etapie poprzedzającym w przepływie danych, aby przekonwertować dane na zgodny typ danych.

Uprawnienia

Aby uruchomić pakiet ładujący usług Integration Services, potrzebne są następujące elementy:

  • Uprawnienie do operacji LOAD na bazie danych.

  • Odpowiednie uprawnienia INSERT, UPDATE, DELETE w tabeli docelowej.

  • Jeśli używana jest tymczasowa baza danych, uprawnienie CREATE do przejściowej bazy danych. Jest to przeznaczone do tworzenia tabeli tymczasowej.

  • Jeśli nie jest używana żadna tymczasowa baza danych, należy posiadać uprawnienia CREATE do bazy docelowej. Jest to przeznaczone do tworzenia tabeli tymczasowej.

Uwagi ogólne

Gdy pakiet usług Integration Services ma wiele uruchomionych miejsc docelowych PDW programu SQL Server, a jedno z połączeń zostanie zakończone, usługi Integration Services przestają przesyłać dane do wszystkich miejsc docelowych PDW programu SQL Server.

Ograniczenia i ograniczenia

W przypadku pakietu usług Integration Services liczba miejsc docelowych PDW programu SQL Server dla tego samego źródła danych jest ograniczona przez maksymalną liczbę aktywnych obciążeń. Wartość maksymalna jest wstępnie skonfigurowana i nie jest konfigurowana przez użytkownika.

Każde miejsce docelowe pakietu usług Integration Services dla tego samego źródła danych jest liczone jako jedno obciążenie, gdy pakiet jest uruchomiony. Załóżmy na przykład, że maksymalna liczba aktywnych obciążeń wynosi 10. Pakiet nie zostanie uruchomiony, jeśli spróbuje otworzyć co najmniej 11 miejsc docelowych dla tego samego źródła danych.

Wiele pakietów może być uruchamianych współbieżnie, o ile każdy pakiet nie używa więcej niż maksymalne aktywne obciążenia. Jeśli na przykład maksymalna liczba aktywnych obciążeń wynosi 10, można jednocześnie uruchamiać dwa pakiety, które używają 10 miejsc docelowych. Jeden pakiet zostanie uruchomiony, podczas gdy drugi czeka w kolejce ładowania.

Jeśli liczba zleceń w kolejce zleceń przekroczy maksymalną liczbę dozwolonych, pakiet nie zostanie uruchomiony. Jeśli na przykład maksymalna liczba obciążeń wynosi 10 na urządzenie, a maksymalna liczba obciążeń w kolejce wynosi 40 na urządzenie, możesz jednocześnie uruchomić pięć pakietów usług Integration Services, które każdy otwiera 10 miejsc docelowych. Jeśli spróbujesz uruchomić szósty pakiet, nie zostanie uruchomiony.

Ważny

Użycie źródła danych OLE DB w pakiecie SSIS z adapterem docelowym PDW może spowodować uszkodzenie danych, jeśli tabela źródłowa zawiera kolumny char i varchar z sortowaniami SQL. Zalecamy użycie źródła ADO.NET, jeśli tabela źródłowa zawiera kolumny char lub varchar z sortowaniami SQL.

Zachowanie blokujące

Podczas ładowania danych za pomocą usług Integration Services system platformy analizy (PDW) używa blokad na poziomie wiersza do aktualizowania danych w tabeli docelowej. Oznacza to, że każdy wiersz jest zablokowany do odczytu i zapisu podczas jego aktualizowania. Wiersze w tabeli docelowej nie są zablokowane, gdy dane są ładowane do tabeli przejściowej.

Przykłady

Odp. Proste ładowanie z pliku płaskiego

W poniższym przewodniku przedstawiono, jak załadować dane z płaskich plików do modułu PDW SQL Server przy użyciu Integration Services. W tym przykładzie przyjęto założenie, że usługi Integration Services zostały już zainstalowane na komputerze klienckim, a miejsce docelowe pdW programu SQL Server zostało zainstalowane zgodnie z powyższym opisem.

W tym przykładzie załadujemy do tabeli Orders, która zawiera następujący kod DDL. Tabela Orders jest częścią bazy danych LoadExampleDB.

CREATE TABLE LoadExampleDB.dbo.Orders (  
   id INT,  
   city varchar(25),  
   lastUpdateDate DATE,  
   orderDate DATE)  
;  

Oto dane ładowania:

id        city           lastUpdateDate     orderdate  
--------- -------------- ------------------ ----------  
1         Seattle        2010-05-01         2010-01-01  
2         Denver         2002-06-25         1999-01-02  

W ramach przygotowań do załadowania utwórz plik prosty exampleLoad.txtzawierający dane ładowania:

id,city,lastUpdateDate,orderDate  
1,Seattle,2010-05-01,2010-01-01  
2,Denver,2002-06-25,1999-01-02  

Najpierw utwórz pakiet usług Integration Services, wykonując następujące kroki:

  1. W narzędziu SQL Server Data Tools (SSDT) wybierz pozycję File, New, a następnie Project. Wybierz pozycję Integration Services Project z listy opcji. Nadaj temu projektowi nazwę ExampleLoad, a następnie kliknij przycisk OK.

  2. Kliknij kartę przepływu sterowania , a następnie przeciągnij Zadanie przepływu danych z narzędzi do okienka przepływu sterowania .

  3. Kliknij kartę przepływu danych, a następnie przeciągnij źródło pliku prostego z przybornika do okienka przepływu danych. Kliknij dwukrotnie utworzone pole, aby otworzyć Edytor źródła plików prostych.

  4. Kliknij Menedżera połączeń, a następnie kliknij Nowy.

  5. W polu nazwa menedżera połączeń wprowadź przyjazną nazwę połączenia. W tym przykładzie Example Load Flat File CM.

  6. Kliknij Przeglądaj i wybierz plik ExampleLoad.txt z komputera lokalnego.

  7. Ponieważ plik płaski zawiera wiersz z nazwami kolumn, kliknij pole wyboru Nazwy kolumn w pierwszym wierszu danych.

  8. Kliknij pozycję Kolumny w lewej kolumnie i wyświetl podgląd danych, które zostaną załadowane, aby upewnić się, że nazwy kolumn i dane zostały prawidłowo zinterpretowane.

  9. Kliknij Zaawansowane w kolumnie po lewej stronie. Kliknij każdą nazwę kolumny, aby przejrzeć typ danych skojarzony z danymi. Wpisz zmiany w polu, aby typy danych załadowanych danych były zgodne z typami kolumn docelowych.

  10. Kliknij przycisk OK, aby zapisać menedżera połączeń.

  11. Kliknij OK, aby zamknąć Edytor Źródła Plików Prostych.

Określ miejsce docelowe przepływu danych.

  1. Przeciągnij SQL Server PDW Destination z przybornika do okienka przepływu danych .

  2. Kliknij dwukrotnie utworzone pole, aby załadować edytor docelowy PROGRAMU SQL Server PDW.

  3. Kliknij strzałkę w dół obok Menedżera Połączeń .

  4. Wybierz pozycję Utwórz nowe połączenie.

  5. Podaj informacje dotyczące serwera, użytkownika, hasła i docelowej bazy danych z informacjami specyficznymi dla urządzenia. (Poniżej przedstawiono przykłady). Następnie kliknij przycisk OK.

    W przypadku połączeń InfiniBand nazwa serwera : wprowadź <nazwa urządzenia>-SQLCTL01 17001.

    W przypadku połączeń Ethernet nazwa serwera: wprowadź adres IP klastra węzła sterowania, przecinek, port 17001. Na przykład 10.192.63.134,17001.

    użytkownik :user1

    hasło :password1

    docelowa baza danych :LoadExampleDB

  6. Wybierz tabelę docelową: Orders.

  7. Wybierz pozycję Dołącz jako tryb ładowania i kliknij przycisk OK.

Określ przepływ danych ze źródła do miejsca docelowego.

  1. W okienku przepływ danych przeciągnij zieloną strzałkę z pola źródło pliku płaskiego do pola SQL Server PDW Destination.

  2. Kliknij dwukrotnie pole SQL Server PDW Destination, aby ponownie zobaczyć Edytor docelowy SQL Server PDW. Nazwy kolumn z płaskiego pliku powinny być widoczne po lewej stronie pod Niezmapowane kolumny wejściowe. Nazwy kolumn z tabeli docelowej powinny być widoczne po prawej stronie, pod Niezmapowane kolumny docelowe. Zmapuj kolumny, przeciągając lub klikając dwukrotnie pasujące nazwy kolumn z list Niezamapowane kolumny wejściowe i Niezamapowane kolumny docelowe do pola Mapowane kolumny. Kliknij przycisk OK, aby zapisać ustawienia.

  3. Zapisz pakiet, klikając Zapisz w menu pliku.

Uruchom pakiet w ramach Integration Services na swoim komputerze.

  1. W Eksploratorze rozwiązań usług Integration Services (w prawej kolumnie) kliknij prawym przyciskiem myszy Package.dtsx i wybierz polecenie Wykonaj.

  2. Pakiet zostanie uruchomiony, a postęp oraz wszelkie błędy zostaną wyświetlone w okienku Postęp. Użyj klienta SQL, aby potwierdzić obciążenie lub monitorować obciążenie za pośrednictwem konsoli administracyjnej pdW programu SQL Server.

Zobacz też

Utwórz zadanie skryptu korzystające z adaptera docelowego SSIS PDW
SQL Server Integration Services usług
Projektowanie i Implementowanie Pakietów (Usługi Integracyjne)
samouczek : tworzenie pakietu podstawowego przy użyciu kreatora
Wprowadzenie (Integration Services)
przykład tworzenia dynamicznych pakietów
Projektowanie Pakietów SSIS dla Przetwarzania Równoległego (Wideo SQL Server)
Ulepszanie przyrostowych obciążeń dzięki przechwytywaniu zmian danych
wolnozmienna transformacja wymiaru
Zadanie zbiorczego wstawiania