sql >> Database teknologi >  >> RDS >> Database

Upload dokumenter til Azure Data Lake og eksporter data ved hjælp af SSIS

Introduktion

Azure vokser hver dag. Microsoft skabte Azure, som er en cloud computing-tjeneste udgivet i 2010.

Ifølge Microsoft bruger 80 % af Fortune 500-virksomhederne Azure. Desuden kommer 40 % af Azure-omsætningen fra startups og uafhængige softwareleverandører. 33 % af Azure Virtual Machines bruger Linux. Microsoft forventer at tjene $20 milliarder i 2018.

Det er derfor, virksomheder migrerer en del af dataene til Azure og nogle gange alle dataene.

Azure Data Lake er et særligt lager til at analysere Big Data parallelt i Azure. Det er optimeret til analyser. Du kan gemme sociale netværksdata, e-mails, dokumenter, sensoroplysninger, geografiske oplysninger og mere.

Hvis du bare vil gemme data, er Azure Blob Storage nok. Hvis du vil analysere dataene, er Data Lake den bedste mulighed, fordi den er designet til rapporter.

Data Lake Store analyseres normalt ved hjælp af Cortana Analytics Suite, Power BI, SSIS er et velkendt og populært værktøj til at migrere data. I denne nye artikel vil vi vise, hvordan du bruger SSIS til at migrere data til Azure. Vi vil også vise, hvordan du eksporterer data fra en .txt-fil i Azure Data Lake Store til SQL Server on-premises.

Hvis du ikke har nogen erfaring med Azure, men du har erfaring med SSIS. Denne artikel er til dig.

Vi følger disse trin for at importere dataene i Azure Data Lake:

  1. Installer SSIS-funktionspakken til Azure
    Som standard kan du ikke oprette forbindelse til Azure Data Lake Store. Det er nødvendigt at installere funktionspakken til Azure i SSIS-projekterne.
  1. Opret en Azure Data Lake Store (ADLS) i Azure Portal
    Hvis du ikke har en Azure Data Lake Store, skal du oprette en ny. Vi opretter en mappe i denne ADLS, og vi importerer data fra en lokal mappe her.
  1. Opret en appregistrering
    I Azure Portal er der i Azure Active Directory (AAD) mulighederne en mulighed for appregistrering. Vi bruger en app-registrering for at få adgang til ADLS.
  1. Tildel tilladelser til ADLS
    I ADLS i Data Explorer skal du give adgang til App-registreringen.
  1. Eksport af filer til ADLS med SSIS
    Ved at bruge ADLS-opgaven til SSIS i SSDT kan du eksportere data fra en lokal fil til SSIS. Til dette formål skal du bruge ADLS URL, applikations-id'et for appregistreringen og nøglen til appregistreringen.
  1. Bekræft resultaterne
    Til sidst skal du i Azure Portal gå til ADLS, Data Explore og kontrollere, at filerne er blevet kopieret.

Krav

Følgende software er påkrævet til denne artikel:

  1. SSIS installeret (inkluderet med SQL Server-installationsprogrammet)
  2. SQL Server Data Tools (SSDT) ​​installeret
  3. En Azure-konto
  4. SSIS Feature Pack til Azure

Kom godt i gang

1. Installer SSIS-funktionspakken til Azure
Der er en gratis funktionspakke til SSIS, der inkluderer opgaver til at oprette forbindelse til Azure. SSIS-funktionspakken skal installeres. Denne pakke indeholder flere opgaver til at arbejde med Big Data i Azure (HDInsight), Azure Blob Storage, Azure Data Lake Store, Azure Data Warehouse og mere:

Installationsprogrammet er et 29 MB. Der er en version til 32 og 64 bit.

2. Opret en Azure Data Lake Store (ADLS) i Azure Portal
Du skal også have et abonnement på Azure. Der er prøveudgaver for nybegyndere, der ønsker at lære denne nye teknologi. Vi vil oprette en Azure Data Lake Store. En Data Lake Store er, hvor du gemmer dine data i Azure til analyse. Log ind på Azure Portal og gå til flere tjenester (>), og skriv Data Lake Store i søgefeltet. Vælg Data Lake Store:

Jeg går ud fra, at du ikke har en Data Lake Store endnu, så vi opretter en ny ved at trykke på +Tilføj-ikonet:

Angiv et navn til Data Lake Store. Ressourcegruppen skal håndtere flere Azure-ressourcer i grupper. Placering er at angive den placering, der er tættest på dig. Du kan betale for forbrug. Prisen er omkring 0,39 USD pr. GB. Jo mere TB, jo billigste er det. Der er også gebyrer pr. læse- og skriveoperationer (10.000 skriveoperationer pr. $0,05 og 10.000 læseoperationer pr. $0,004).

Når du er oprettet, skal du klikke på Data Lake Store:

For at oprette mapper og tilføje filer skal du gå til Data Explorer:

Opret en Ny mappe. Vi uploader filer til denne mappe. Tildel et navn, og tryk på OK:

3. Opret en app-registrering
Vi vil oprette en app-registrering for at få adgang til Data Lake. I appregistrering registrerer du din applikation, og du får tildelt et applikations-id og en nøgle. For at gøre det skal vi gå til Flere tjenester>Active Directory:

Gå til Appregistreringer:

Tilføj et navn. Applikationstypen er webapp/API (standard). URL'en kan være en hvilken som helst URL efter din præference:



Klik på den applikation, der lige er oprettet:


For at oprette forbindelse til Azure Data Lake Store skal du bruge applikations-id'et:

I app-registreringen skal du gå til nøgler. Opret en ny nøgle, og tildel en udløbsvarighed for nøglen. Kopiér og indsæt værdien et sted. Denne værdi kræves for at oprette forbindelse til Azure Data Lake Store:

Gå til Data Lake Store og kopier URL'en i oversigtssektionen. Disse oplysninger er også nyttige til at oprette forbindelse ved hjælp af SSIS:


4. Tildel tilladelser til ADLS
Vi giver tilladelser til vores app-registreringer. Disse tilladelser giver adgang til ADLS. Gå til Data Explorer:

Tryk på adgangsindstillingen for at tilføje appregistreringen:


Tryk på +Tilføj mulighed for at tilføje app-registreringen:

Skriv AppService i tekstboksen og tryk på knappen Vælg:


Tildel læse-, skrive- og udførelsestilladelser. Du kan tilføje tilladelser til mappen og mappen og alle børn.

Du kan også tildele adgang, standardtilladelser og begge dele:

5. Eksport af filer til ADLS med SSIS
I SSDT skal du oprette et SSIS-projekt. Hvis du har installeret funktionspakken til Azure, vil du kunne se Azure Data Lake Store-filsystemopgaven. Træk og slip denne opgave til designruden:

Dobbeltklik på Azure Data Lake Store-filsystemopgaven. Der er 2 mulige operationer. For at kopiere fra Azure Data Lake (ADL) eller for at kopiere til ADL. I dette eksempel vil vi kopiere fra en lokal fil til ADL. I kilden vil vi bruge mappen c:\sql, vi vil have nogle lokale filer til at kopiere til ADL. I AzureDataLakeDirectory vil vi bruge den delte mappe. Denne mappe blev oprettet i ADL Store i tidligere trin. AzureDataLakeConnection vil blive forklaret senere. Lev filens udløb (denne mulighed bruges til at angive, hvornår filerne udløber):

I AzureDataLakeConnection vælger vi muligheden Ny forbindelse for at oprette en ny:

I forbindelsen skal du bruge ADLS-værten. Dette er URL'en, når du går til sektionen Oversigt af ADLS'en i portalen. I godkendelsen bruger vi en Azure AD Service Identity. Denne indstilling bruger den appregistrering, der er oprettet i Azure.

Klient-id'et er applikations-id'et for appregistreringen. Du kan finde disse oplysninger i afsnittet App-registrering i Azure AD.

Den hemmelige nøgle kan findes i portalen i App Registration i Azure AD i nøgleafsnittet. Du kan oprette en nøgle og bruge værdien i dette afsnit.

Lejernavn er navnet på Azure AD-domænet (vi vil forklare Azure-domænet).

Tryk på testforbindelsen for at bekræfte, at alt er i orden. Når det er i orden, skal du trykke på OK:

Hvis du ikke kender dit domæne (lejernavn), kan du tjekke ved at klikke øverst til højre på portalen.


Du kan køre SSIS-pakken for at eksportere dataene til ADLS. I dette eksempel har vi 3 filer i den lokale mappe.

6. Bekræft resultaterne
Hvis alt er OK, skal du i Azure Portal gå til ADLS og gå til Data Explorer. Gå til den delte mappe og tjek filerne der. Du vil kunne se de 5 filer kopieret.


Eksporter data fra Data Lake til SQL Server on-premises

I den anden del eksporterer vi data gemt i Azure Data Lake til SQL Server on-premises. Træk og slip en Dataflow-opgave:

Dobbeltklik på Data Flow-opgaven, og træk og slip Azure Data Lake Store-kilden og SQL Server-destinationen. Forbind begge opgaver. Dobbeltklik på Azure Data Lake Store Kilde:

Vælg den ADLS-forbindelse, der blev oprettet i den første del af artiklen. I stien skal du angive ADLS-stien (mappe/filnavn). I dette scenarie er filformatet tekst, og afgrænsningstegnet er et komma:

I kolonner kan du se kolonnerne. Hvis der ikke er nogen kolonner. Standard kolonneoverskrifter oprettes:

Dobbeltklik på SQL Server-destinationen. Tryk på Ny for at oprette en forbindelsesadministrator:

Opret en ny forbindelse. Angiv SQL Server-navnet, godkendelsen og databasen, hvor du vil gemme dataene:

I tabel eller visning skal du trykke på Ny for at oprette en ny tabel:



Som standard vil du have følgende T-SQL-kode:

Skift koden for at angive et tabelnavn og give kolonnenavne:

CREATE TABLE [smartphones] (

    [ID] int,

    Brand nvarchar(100),

    Version nvarchar(100)

)

Gå til Mappings-siden og tildel Prop_0 til ID, Prop_1 til Brand, Prop_2 til Version:

Du vil have en fejl i SQL Server Destination. At kolonnen ikke kan indsættes på grund af et konverteringsproblem. Dette skyldes, at Prop_0 er en streng, og SQL Server-tabellen er et heltal:

Træk og slip datakonverteringsopgaven, og opret forbindelse mellem Azure Data Lake Store-kilde og SQL Server-destination:

Dobbeltklik på datakonvertering, vælg Prop_0 og konverter datatypen til fire-byte signeret heltal [DT_I4] og tildel et alias. Datakonvertering opretter endnu en kolonne med en anden datatype:

Vend tilbage til SQL Destination Editor og match Prop_0int til ID:

Kør SSIS-pakken. I SSMS skal du kontrollere, at dbo.smartphones-tabellerne er oprettet og kontrollere, om dataene blev importeret:

Hvis du har spørgsmål eller problemer, er du velkommen til at skrive dine kommentarer.

Konklusioner

Azure Data Lake er et særligt lager med høj ydeevne til at håndtere Big Data. For at migrere data fra lokale servere til Azure kan du bruge SSIS. For at gøre det skal du bruge den nye Feature Pack til Azure. Denne pakke installerer nye opgaver for at oprette forbindelse til ADLS.

For at oprette forbindelse til ADLS ved hjælp af SSIS oprettede vi en AAD-appregistrering med tilladelser til den.

SSIS gør det nemt at uploade filerne til ADLS. Du behøver kun at angive ADLS-URL'en og app-registreringsnøglen og applikations-id'et.

Vi viser også, hvordan man udtrækker data fra ADLS til en tabel i SQL Server on-premises.

Referencer

For mere information om SSIS, Data Lake Store, App-registrering, brug følgende links:

  • Introduktion af Azure Data Lake
  • Azure Data Lake Store Connection Manager
  • Azure Feature Pack for Integration Services (SSIS)
  • Integration af applikationer med Azure Active Directory
  • Azure Data Lake Store-filsystemopgave
  • Registrer din applikation hos din Azure Active Directory-lejer

  1. Sådan opdateres/slettes med elementer fra to forskellige tabeller SQLite

  2. Sådan bruger du Coalesce-funktionen i Oracle

  3. Hvordan kan jeg flette kolonnerne fra to tabeller til ét output?

  4. Løsning til ikke at udføre en DML-handling i en forespørgsel?