sql >> Databasteknik >  >> RDS >> Database

Ladda upp dokument till Azure Data Lake och exportera data med SSIS

Inledning

Azure växer varje dag. Microsoft skapade Azure, som är en Cloud Computing-tjänst som släpptes 2010.

Enligt Microsoft använder 80 % av Fortune 500-företagen Azure. Dessutom kommer 40 % av Azure-intäkterna från startups och oberoende programvaruleverantörer. 33 % av Azure Virtual Machines använder Linux. Microsoft räknar med att tjäna 20 miljarder dollar 2018.

Det är därför företag migrerar en del av datan till Azure och ibland all data.

Azure Data Lake är en speciell lagring för att analysera Big Data parallellt i Azure. Den är optimerad för analys. Du kan lagra sociala nätverksdata, e-postmeddelanden, dokument, sensorinformation, geografisk information och mer.

Om du bara vill lagra data räcker det med Azure Blob Storage. Om du vill analysera data är Data Lake det bästa alternativet eftersom det är designat för rapporter.

Data Lake Store analyseras vanligtvis med Cortana Analytics Suite, Power BI, SSIS är ett välkänt och populärt verktyg för att migrera data. I den här nya artikeln kommer vi att visa hur du använder SSIS för att migrera data till Azure. Vi kommer också att visa hur man exporterar data från en .txt-fil i Azure Data Lake Store till SQL Server på plats.

Om du inte har någon erfarenhet av Azure, men du har erfarenhet av SSIS. Den här artikeln är till dig.

Vi följer dessa steg för att importera data i Azure Data Lake:

  1. Installera SSIS Feature Pack för Azure
    Som standard kan du inte ansluta till Azure Data Lake Store. Det är nödvändigt att installera funktionspaketet för Azure i SSIS-projekten.
  1. Skapa en Azure Data Lake Store (ADLS) i Azure Portal
    Om du inte har en Azure Data Lake Store måste du skapa en ny. Vi kommer att skapa en mapp i denna ADLS och vi kommer att importera data från en lokal mapp här.
  1. Skapa en appregistrering
    I Azure Portal, i alternativen för Azure Active Directory (AAD), finns ett alternativ för appregistrering. Vi kommer att använda en appregistrering för att komma åt ADLS.
  1. Tilldela behörigheter till ADLS
    I ADLS i Data Explorer måste du ge åtkomst till appregistreringen.
  1. Exportera filer till ADLS med SSIS
    Genom att använda ADLS-uppgiften för SSIS i SSDT kan du exportera data från en lokal fil till SSIS. För detta ändamål behöver du ADLS URL, applikations-ID för appregistreringen och nyckeln för appregistreringen.
  1. Verifiera resultaten
    Slutligen, i Azure Portal, gå till ADLS, Data Explore och verifiera att filerna har kopierats.

Krav

Följande programvara krävs för den här artikeln:

  1. SSIS installerat (ingår i installationsprogrammet för SQL Server)
  2. SQL Server Data Tools (SSDT) ​​installerade
  3. Ett Azure-konto
  4. SSIS Feature Pack för Azure

Kom igång

1. Installera SSIS Feature Pack för Azure
Det finns ett gratis Feature Pack för SSIS som innehåller uppgifter för att ansluta till Azure. SSIS-funktionspaketet måste installeras. Det här paketet innehåller flera uppgifter för att arbeta med Big Data i Azure (HDInsight), Azure Blob Storage, Azure Data Lake Store, Azure Data Warehouse och mer:

Installationsprogrammet är ett 29 MB. Det finns en version för 32 och 64 bitar.

2. Skapa en Azure Data Lake Store (ADLS) i Azure Portal
Du behöver också en prenumeration på Azure. Det finns testversioner för nybörjare som vill lära sig denna nya teknik. Vi kommer att skapa en Azure Data Lake Store. En Data Lake Store är där du lagrar dina data i Azure för analys. Logga in på Azure Portal och gå till fler tjänster (>) och skriv Data Lake Store i sökrutan. Välj Data Lake Store:

Jag antar att du inte har en Data Lake Store än, så vi skapar en ny genom att trycka på ikonen +Lägg till:

Ange ett namn för Data Lake Store. Resursgruppen ska hantera flera Azure-resurser i grupper. Plats är att ange platsen närmast dig. Du kan betala för konsumtion. Priset är cirka 0,39 USD per GB. Ju mer TB, desto billigast är det. Det tillkommer även avgifter per läs- och skrivoperation (10 000 skrivoperationer per 0,05 USD och 10 000 läsoperationer per 0,004 USD).

När du har skapat den klickar du på Data Lake Store:

För att skapa mappar och lägga till filer, gå till Data Explorer:

Skapa en Ny mapp. Vi kommer att ladda upp filer till den här mappen. Tilldela ett namn och tryck på OK:

3. Skapa en appregistrering
Vi kommer att skapa en appregistrering för att komma åt Data Lake. I appregistrering registrerar du din applikation och du tilldelas ett applikations-ID och en nyckel. För att göra det måste vi gå till Fler tjänster>Active Directory:

Gå till Appregistreringar:

Lägg till ett namn. Applikationstypen är webbapp/API (standard). Webbadressen kan vara vilken URL som helst efter dina önskemål:



Klicka på programmet som just skapats:


För att ansluta till Azure Data Lake Store behöver du applikations-ID:

I appregistreringen, gå till nycklar. Skapa en ny nyckel och tilldela en giltighetstid för nyckeln. Kopiera och klistra in värdet någonstans. Detta värde kommer att krävas för att ansluta till Azure Data Lake Store:

Gå till Data Lake Store och kopiera URL:en i avsnittet Översikt. Denna information är också användbar för att ansluta med SSIS:


4. Tilldela behörigheter till ADLS
Vi kommer att ge tillstånd till våra appregistreringar. Dessa behörigheter tillåter åtkomst till ADLS. Gå till Data Explorer:

Tryck på Access-alternativet för att lägga till appregistreringen:


Tryck på +Lägg till alternativ för att lägga till appregistreringen:

Skriv AppService i textrutan och tryck på knappen Välj:


Tilldela läs-, skriv- och körrättigheter. Du kan lägga till behörigheter till mappen och mappen och alla barn.

Du kan också tilldela åtkomst, standardbehörigheter och båda:

5. Exportera filer till ADLS med SSIS
Skapa ett SSIS-projekt i SSDT. Om du installerade funktionspaketet för Azure kommer du att kunna se Azure Data Lake Store-filsystemuppgiften. Dra och släpp den här uppgiften till designrutan:

Dubbelklicka på Azure Data Lake Store-filsystemuppgiften. Det finns 2 möjliga operationer. För att kopiera från Azure Data Lake (ADL) eller för att kopiera till ADL. I det här exemplet kommer vi att kopiera från en lokal fil till ADL. I källan kommer vi att använda mappen c:\sql, vi kommer att ha några lokala filer att kopiera till ADL. I AzureDataLakeDirectory kommer vi att använda den delade mappen. Den här mappen skapades i ADL Store i tidigare steg. AzureDataLakeConnection kommer att förklaras senare. Live filens utgång (det här alternativet används för att ange när filerna löper ut):

I AzureDataLakeConnection väljer vi alternativet Ny anslutning för att skapa en ny:

I anslutningen behöver du ADLS-värden. Detta är URL:en när du går till avsnittet Översikt av ADLS i portalen. I autentisering kommer vi att använda en Azure AD Service Identity. Det här alternativet använder appregistreringen som skapats i Azure.

Klient-ID är applikations-ID för appregistreringen. Du hittar den här informationen i avsnittet Appregistrering i Azure AD.

Den hemliga nyckeln finns i portalen i App Registration i Azure AD i nyckelsektionen. Du kan skapa en nyckel och använda värdet i det här avsnittet.

Tenant name är namnet på Azure AD-domänen (vi kommer att förklara Azure Domain).

Tryck på testanslutningen för att kontrollera att allt är bra. När det är bra trycker du på OK:

Om du inte känner till din domän (hyresgästens namn) kan du kontrollera det genom att klicka i den övre högra delen av portalen.


Du kan köra SSIS-paketet för att exportera data till ADLS. I det här exemplet har vi 3 filer i den lokala mappen.

6. Verifiera resultaten
Om allt är OK, i Azure Portal, gå till ADLS och gå till Data Explorer. Gå till den delade mappen och kontrollera filerna där. Du kommer att kunna se de 5 filerna kopierade.


Exportera data från Data Lake till SQL Server på plats

I den andra delen kommer vi att exportera data lagrad i Azure Data Lake till SQL Server lokalt. Dra och släpp en dataflödesuppgift:

Dubbelklicka på uppgiften Data Flow och dra och släpp Azure Data Lake Store-källan och SQL Server-destinationen. Koppla ihop båda uppgifterna. Dubbelklicka på Azure Data Lake Store-källa:

Välj ADLS-anslutningen som skapades i den första delen av artikeln. I sökvägen anger du ADLS-sökvägen (mapp/filnamn). I det här scenariot är filformatet text och avgränsaren är ett kommatecken:

I kolumner kan du se kolumnerna. Om det inte finns några kolumner. Standardkolumnrubriker skapas:

Dubbelklicka på SQL Server Destination. Tryck på Ny för att skapa en anslutningshanterare:

Skapa en ny anslutning. Ange SQL Server-namnet, autentiseringen och databasen där du vill lagra data:

I tabell eller vy, tryck på Ny för att skapa en ny tabell:



Som standard har du följande T-SQL-kod:

Ändra koden för att ange ett tabellnamn och ge kolumnnamn:

CREATE TABLE [smartphones] (

    [ID] int,

    Brand nvarchar(100),

    Version nvarchar(100)

)

Gå till sidan Mappningar och tilldela Prop_0 till ID, Prop_1 till Brand, Prop_2 till Version:

Du kommer att få ett fel i SQL Server Destination. Att kolumnen inte kan infogas på grund av ett konverteringsproblem. Detta beror på att Prop_0 är en sträng och SQL Server-tabellen är ett heltal:

Dra och släpp uppgiften för datakonvertering och anslut mellan Azure Data Lake Store-källa och SQL Server-destination:

Dubbelklicka på datakonvertering, välj Prop_0 och konvertera datatypen till fyra-byte signerat heltal [DT_I4] och tilldela ett alias. Datakonvertering skapar en annan kolumn med en annan datatyp:

Återgå till SQL Destination Editor och matcha Prop_0int med ID:

Kör SSIS-paketet. I SSMS, verifiera att dbo.smartphones-tabellerna har skapats och kontrollera om data importerades:

Om du har frågor eller problem, skriv gärna dina kommentarer.

Slutsatser

Azure Data Lake är en speciell lagring med hög prestanda för att hantera Big Data. För att migrera data från lokala servrar till Azure kan du använda SSIS. För att göra det behöver du det nya Feature Pack för Azure. Det här paketet installerar nya uppgifter för att ansluta till ADLS.

För att ansluta till ADLS med SSIS skapade vi en AAD-appregistrering med behörigheter till den.

SSIS gör det enkelt att ladda upp filerna till ADLS. Du behöver bara ange ADLS URL och appregistreringsnyckeln och applikations-ID.

Vi visar också hur man extraherar data från ADLS till en tabell i SQL Server on-premises.

Referenser

För mer information om SSIS, Data Lake Store, appregistrering använd följande länkar:

  • Vi presenterar Azure Data Lake
  • Azure Data Lake Store Connection Manager
  • Azure Feature Pack for Integration Services (SSIS)
  • Integrera applikationer med Azure Active Directory
  • Azure Data Lake Store filsystemuppgift
  • Registrera din applikation hos din Azure Active Directory-klient

  1. Oracle ORA-12154-fel på lokal IIS, men inte med Visual Studio Development Server

  2. JSON_REPLACE() – Ersätt värden i ett JSON-dokument i MySQL

  3. Hur man mappar en PostgreSQL-array med Hibernate

  4. Uppdatera alla rader i en kolumn till nytt värde