Delen via


Gegevens laden met Integration Services naar parallel datawarehouse

Biedt referentie- en implementatie-informatie voor het laden van gegevens in SQL Server Parallel Data Warehouse met behulp van SSIS-pakketten (SQL Server Integration Services).

Basisprincipes

Integration Services is het onderdeel van SQL Server voor hoogwaardige extractie, transformatie en laden (ETL) van gegevens en wordt vaak gebruikt om een datawarehouse te vullen en bij te werken.

De PDW-doeladapter is een Integration Services-onderdeel waarmee u gegevens in PDW kunt laden met behulp van dtsx-pakketten van Integration Services. In een pakketwerkstroom voor Analytics Platform System (PDW) kunt u gegevens uit meerdere bronnen laden en samenvoegen en gegevens naar meerdere bestemmingen laden. De belastingen worden parallel uitgevoerd, zowel binnen een pakket als tussen meerdere pakketten die gelijktijdig worden uitgevoerd, tot maximaal 10 belastingen die parallel op hetzelfde apparaat worden uitgevoerd.

Naast de taken die in dit onderwerp worden beschreven, kunt u andere functies van Integration Services gebruiken om uw gegevens te filteren, transformeren, analyseren en op te schonen voordat u deze in het datawarehouse laadt. U kunt ook de werkstroom van het pakket verbeteren door SQL-instructies uit te voeren, onderliggende pakketten uit te voeren of e-mail te verzenden.

Zie SQL Server Integration Servicesvoor volledige documentatie over Integration Services.

Methoden voor het uitvoeren van een Integration Services-pakket

Gebruik een van deze methoden om een Integration Services-pakket uit te voeren.

Uitvoeren vanuit SQL Server 2008 R2 Business Intelligence Development Studio (BIDS)

Als u het pakket vanuit BIDS wilt uitvoeren, klikt u met de rechtermuisknop op uw pakket en kiest u Pakket uitvoeren.

Bids voert standaard pakketten uit met 64-bits binaire bestanden. Dit wordt bepaald door de pakketeigenschap Run64BitRuntime. Als u deze eigenschap wilt instellen, gaat u naar Solution Explorer, klikt u met de rechtermuisknop op uw project en kiest u Eigenschappen. Ga op de Eigenschappenpagina van Integration Servicesnaar Configuratie-eigenschappen en selecteer Foutopsporing. U ziet de eigenschap Run64BitRuntime onder de Opties voor foutopsporing. Als u 32-bits runtimes wilt gebruiken, stelt u dit in op False. Als u 64-bits runtimes wilt gebruiken, stelt u dit in op True.

Uitvoeren vanuit SQL Server 2012 SQL Server Data Tools

Als u het pakket wilt uitvoeren vanuit SQL Server Data Tools, klikt u met de rechtermuisknop op het pakket en kiest u Pakket uitvoeren.

Uitvoeren vanuit PowerShell

Als u het pakket wilt uitvoeren vanuit Windows PowerShell, gebruikt u het hulpprogramma dtexec: dtexec /FILE <packagePath>

Bijvoorbeeld dtexec /FILE "C:\Users\User1\Desktop\Package.dtsx"

Uitvoeren vanaf een Windows-opdrachtprompt

Als u het pakket wilt uitvoeren vanaf een Windows-opdrachtprompt, gebruikt u het hulpprogramma dtexec: dtexec /FILE <packagePath>

Bijvoorbeeld: dtexec /FILE "C:\Users\User1\Desktop\Package.dtsx"

Gegevenstypen

Wanneer u Integration Services gebruikt om gegevens uit een gegevensbron naar een SQL Server PDW-database te laden, worden de gegevens eerst van de brongegevens toegewezen aan Integration Services-gegevenstypen. Hierdoor kunnen gegevens uit meerdere gegevensbronnen worden toegewezen aan een algemene set gegevenstypen.

Vervolgens worden de gegevens gemapt van Integration Services naar SQL Server PDW-gegevenstypen. Voor elk SQL Server PDW-gegevenstype geeft de volgende tabel de Integration Services-gegevenstypen weer die kunnen worden geconverteerd naar het SQL Server PDW-gegevenstype.

PDW-gegevenstype Integration Services-gegevenstypen die overeenkomen met het PDW-gegevenstype
BIT DT_BOOL
BIGINT DT_I1, DT_I2, DT_I4, DT_I8, DT_UI1, DT_UI2, DT_UI4
VERKOLEN DT_STR
DATUM DT_DBDATE
DATUMTIJD DT_DATE, DT_DBDATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2
DATETIME2 DT_DATE, DT_DBDATE, DT_DBTIMESTAMP, DT_DBTIMESTAMP2
DATUMTIJDOFFSET DT_WSTR
DECIMAAL DT_DECIMAL, DT_I1, DT_I2, DT_I4, DT_I4, DT_I8, DT_NUMERIC, DT_UI1, DT_UI2, DT_UI4, DT_UI8
DRIJVEN DT_R4, DT_R8
INT DT_I1, DTI2, DT_I4, DT_UI1, DT_UI2
GELD DT_CY
NCHAR DT_WSTR
NUMERIEK 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
WERKELIJK DT_R4
SMALLDATETIME DT_DBTIMESTAMP2
SMALLINT DT_I1, DT_I2, DT_UI1
Klein geld DT_R4
TIJD DT_WSTR
TINYINT DT_I1
VARBINARY DT_BYTES
VARCHAR DT_STR

beperkte ondersteuning voor precisie van gegevenstypen

PDW genereert een validatiefout als u een DT_NUMERIC of DT_DECIMAL invoerkolom met een precisie groter dan 28 koppelt.

niet-ondersteunde gegevenstypen

SQL Server PDW biedt geen ondersteuning voor de volgende Integration Services-gegevenstypen:

  • DT_DBTIMESTAMPOFFSET

  • DT_DBTIME2

  • DT_GUID

  • DT_IMAGE

  • DT_NTEXT

  • DT_TEXT

Als u kolommen wilt laden die gegevens van deze typen bevatten in SQL Server PDW, moet u een gegevensconversietransformatie upstream toevoegen aan de gegevensstroom om de gegevens te converteren naar een compatibel gegevenstype.

Machtigingen

Als u een Load Package van Integration Services wilt uitvoeren, hebt u het volgende nodig:

  • Laadmachtiging voor de database.

  • Toepasselijke INSERT-, UPDATE-, DELETE-machtigingen voor de doeltabel.

  • Als er een faseringsdatabase wordt gebruikt, zijn de CREATE-rechten op de faseringsdatabase vereist. Dit is bedoeld voor het maken van een tijdelijke tabel.

  • Als er geen faseringsdatabase wordt gebruikt, maakt u de machtiging CREATE voor de doeldatabase. Dit is bedoeld voor het maken van een tijdelijke tabel.

Algemene opmerkingen

Wanneer een Integration Services-pakket meerdere SQL Server PDW-bestemmingen heeft en een van de verbindingen wordt beëindigd, stopt Integration Services met het pushen van gegevens naar alle PDW-bestemmingen van SQL Server.

Beperkingen en beperkingen

Voor een Integration Services-pakket wordt het aantal SQL Server PDW-bestemmingen voor dezelfde gegevensbron beperkt door het maximum aantal actieve belastingen. Het maximum is vooraf geconfigureerd en kan niet door de gebruiker worden geconfigureerd.

Elke bestemming van een Integration Services-pakket voor dezelfde gegevensbron telt als één lading tijdens het uitvoeren van het pakket. Stel dat de maximale actieve belastingen 10 zijn. Het pakket werkt niet als er 11 of meer bestemmingen voor dezelfde gegevensbron worden geopend.

Meerdere pakketten kunnen gelijktijdig worden uitgevoerd zolang elk pakket niet meer dan de maximale actieve belastingen gebruikt. Als de maximale actieve belastingen bijvoorbeeld 10 zijn, kunt u gelijktijdig twee pakketten uitvoeren die elk 10 bestemmingen gebruiken. Het ene pakket wordt uitgevoerd terwijl de andere wacht in de laadwachtrij.

Als het aantal ladingen in de laadwachtrij het maximum aantal ladingen in de wachtrij overschrijdt, wordt het pakket niet uitgevoerd. Als het maximum aantal belastingen bijvoorbeeld 10 per apparaat is en het maximum aantal in de wachtrij geplaatste belastingen 40 per apparaat is, kunt u gelijktijdig vijf Integration Services-pakketten uitvoeren die elk 10 bestemmingen openen. Als u een zesde pakket probeert uit te voeren, wordt het niet uitgevoerd.

Belangrijk

Het gebruik van een OLE DB-gegevensbron in SSIS met de PDW-doeladapter kan leiden tot beschadiging van gegevens als de brontabel teken- en varcharkolommen bevat met SQL-sorteringen. U wordt aangeraden een ADO.NET bron te gebruiken als de brontabel char- of varchar-kolommen bevat met SQL-sorteringen.

Vergrendelingsgedrag

Bij het laden van gegevens met Integration Services gebruikt Analytics Platform System (PDW) vergrendelingen op rijniveau om gegevens in de doeltabel bij te werken. Dit betekent dat elke rij is vergrendeld voor lezen en schrijven terwijl deze wordt bijgewerkt. De rijen in de doeltabel worden niet vergrendeld terwijl de gegevens in de stagingtabel worden geladen.

Voorbeelden

Een. Eenvoudig laden vanuit plat bestand

Bij de volgende procedure wordt een eenvoudige gegevensinvoer gedemonstreerd met behulp van Integration Services om gegevens uit een plat bestand naar een SQL Server PDW-apparaat te laden. In dit voorbeeld wordt ervan uitgegaan dat Integration Services al is geïnstalleerd op de clientcomputer en dat de SQL Server PDW-bestemming is geïnstalleerd, zoals hierboven beschreven.

In dit voorbeeld laden we de Orders tabel in, met de volgende DDL. De tabel Orders maakt deel uit van de LoadExampleDB-database.

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

Dit zijn de laadgegevens:

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

Maak ter voorbereiding op de belasting het platte bestand exampleLoad.txt, met daarin de laadgegevens:

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

Maak eerst een Integration Services-pakket door deze stappen uit te voeren:

  1. Selecteer in SQL Server Data Tools (SSDT) Bestand, Nieuwen Project. Selecteer Integration Services Project in de vermelde opties. Geef dit project een naam ExampleLoaden klik op OK-.

  2. Klik op het tabblad Control Flow en sleep de gegevensstroomtaak van de Werkset naar het deelvenster Controlestroom.

  3. Klik op het tabblad Gegevensstroom en sleep Platte Bestandsbron van de Toolbox naar het deelvenster Gegevensstroom. Dubbelklik op de doos die u zojuist hebt gemaakt om de Flat File Source Editorte openen.

  4. Klik op Verbindingsbeheer en klik vervolgens op Nieuw.

  5. Voer in het vak verbindingsbeheer een beschrijvende naam in voor de verbinding in het vak Verbindingsbeheer. Voor dit voorbeeld Example Load Flat File CM.

  6. Klik op Bladeren en selecteer het ExampleLoad.txt bestand van de lokale computer.

  7. Aangezien het platte bestand een rij met kolomnamen bevat, klikt u op de kolomnamen in de eerste gegevensrij vak.

  8. Klik op Kolommen in de linkerkolom en bekijk een voorbeeld van de gegevens die worden geladen om ervoor te zorgen dat de kolomnamen en gegevens correct zijn geïnterpreteerd.

  9. Klik op Geavanceerde in de linkerkolom. Klik op elke kolomnaam om het gegevenstype te controleren dat aan de gegevens is gekoppeld. Typ wijzigingen in het vak zodat de gegevenstypen van de geladen gegevens compatibel zijn met de doelkolomtypen.

  10. Klik op OK- om uw verbindingsbeheer op te slaan.

  11. Klik op OK- om de platte bestandsbroneditor af te sluiten.

Geef het doel voor de gegevensstroom op.

  1. Sleep de SQL Server PDW-bestemming van de Werkset naar het deelvenster Gegevensstroom.

  2. Dubbelklik op het vak dat u zojuist hebt gemaakt om de SQL Server PDW Destination Editorte laden.

  3. Klik op de pijl omlaag naast Verbindingsbeheer.

  4. Selecteer Een nieuwe verbinding maken.

  5. Vul de gegevens in voor de server- en gebruikers-, wachtwoord- en doeldatabase met informatie die specifiek is voor uw apparaat. (Voorbeelden worden hieronder weergegeven). Klik vervolgens op OK-.

    Voor InfiniBand-verbindingen Servernaam: Voer <apparaatnaam in>-SQLCTL01.17001.

    Voor Ethernet-verbindingen Servernaam: Voer het IP-adres van het beheerknooppuntcluster, komma, poort 17001 in. Bijvoorbeeld 10.192.63.134.17001.

    Gebruiker:user1

    wachtwoord:password1

    doeldatabase:LoadExampleDB

  6. Selecteer de doeltabel: Orders.

  7. Selecteer Toevoegen als de laadmodus en klik op OK.

Geef de gegevensstroom op van de bron naar de bestemming.

  1. Sleep in het deelvenster Gegevensstroom de groene pijl van het vak Platte Bestandsbron naar het vak SQL Server PDW-bestemming.

  2. Dubbelklik op het vak SQL Server PDW Destination, zodat u de SQL Server PDW Destination Editor weer ziet. U ziet de kolomnamen uit het platte bestand aan de linkerkant, onder Niet-toegewezen invoerkolommen. U zou de kolomnamen van de doeltabel rechts moeten zien, onder Niet-toegewezen doelkolommen. Wijs de kolommen toe door de overeenkomende kolomnamen in de lijsten Niet-toegewezen invoerkolommen en Niet-toegewezen doelkolommen te slepen of erop te dubbelklikken om ze naar het vak Toegewezen kolommen te verplaatsen. Klik op OK- om uw instellingen op te slaan.

  3. Sla het pakket op door te klikken op opslaan in het menu Bestand.

Voer het pakket uit op uw computer Integration Services.

  1. Klik in Integration Services Solution Explorer (rechterkolom) met de rechtermuisknop Package.dtsx en selecteer Uitvoeren.

  2. Het pakket wordt uitgevoerd en de voortgang plus eventuele fouten worden weergegeven in het deelvenster Voortgang. Gebruik een SQL-client om de belasting te bevestigen of te controleren via de Beheerconsole van SQL Server PDW.

Zie ook

een scripttaak maken die gebruikmaakt van de SSIS PDW-doeladapter
SQL Server Integration Services
pakketten (Integration Services) ontwerpen en implementeren
Zelfstudie: Een basispakket maken met behulp van een wizard
Aan de slag (Integration Services)
voorbeeld van het genereren van dynamische pakketten
uw SSIS-pakketten ontwerpen voor parallelle uitvoering (SQL Server-video)
incrementele belasting verbeteren met wijzigingsgegevens vastleggen
langzaam veranderende dimensietransformatie
taak bulksgewijs invoegen