Dela via


Transformera data i Delta Lake med hjälp av mappning av dataflöden

GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics

Dricks

Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!

Om du inte har använt Azure Data Factory tidigare kan du läsa Introduktion till Azure Data Factory.

I den här självstudien använder du dataflödesarbetsytan för att skapa dataflöden som gör att du kan analysera och transformera data i Azure Data Lake Storage (ADLS) Gen2 och lagra dem i Delta Lake.

Förutsättningar

Filen som vi transformerar i den här självstudien är MoviesDB.csv, som du hittar här. Om du vill hämta filen från GitHub kopierar du innehållet till valfri textredigerare för att spara lokalt som en .csv fil. Information om hur du laddar upp filen till ditt lagringskonto finns i Ladda upp blobar med Azure Portal. Exemplen refererar till en container med namnet "sample-data".

Skapa en datafabrik

I det här steget skapar du en datafabrik och öppnar Data Factory UX för att skapa en pipeline i datafabriken.

  1. Öppna Microsoft Edge eller Google Chrome. Data Factory-användargränssnittet stöds för närvarande endast i Microsoft Edge- och Google Chrome-webbläsare.

  2. Välj Skapa en resursintegreringsdatafabrik>>på den vänstra menyn

  3. På sidan Ny datafabrik under Namn anger du ADFTutorialDataFactory

  4. Välj den Azure-prenumeration som du vill skapa den nya datafabriken i.

  5. Gör något av följande för Resursgrupp:

    a. Välj Använd befintlig och välj en befintlig resursgrupp i listrutan.

    b. Välj Skapa ny och ange namnet på en resursgrupp.

    Mer information om resursgrupper finns i Använda resursgrupper för att hantera Azure-resurser.

  6. Under Version väljer du V2.

  7. Under Plats väljer du en plats för datafabriken. Endast platser som stöds visas i listrutan. Datalager (till exempel Azure Storage och SQL Database) och beräkningar (till exempel Azure HDInsight) som används av datafabriken kan finnas i andra regioner.

  8. Välj Skapa.

  9. När skapandet är klart visas meddelandet i Meddelandecenter. Välj Gå till resurs för att gå till sidan Datafabrik.

  10. Klicka på Författare och övervakare för att starta användargränssnittet för datafabriken på en separat flik.

Skapa en pipeline med en dataflödesaktivitet

I det här steget skapar du en pipeline som innehåller en dataflödesaktivitet.

  1. På startsidan väljer du Orkestrera.

    Skärmbild som visar ADF-startsidan.

  2. På fliken Allmänt för pipelinen anger du DeltaLake som Namn på pipelinen.

  3. I fönstret Aktiviteter expanderar du dragspelet Flytta och transformera . Dra och släpp aktiviteten Dataflöde från fönstret till pipelinearbetsytan.

    Skärmbild som visar pipelinearbetsytan där du kan släppa den Dataflöde aktiviteten.

  4. I popup-fönstret Lägg till Dataflöde väljer du Skapa ny Dataflöde och namnger sedan dataflödet DeltaLake. Välj Slutför när du är klar.

    Skärmbild som visar var du namnger dataflödet när du skapar ett nytt dataflöde.

  5. I det övre fältet på pipelinearbetsytan skjuter du Dataflöde felsökningsreglaget på. Felsökningsläget möjliggör interaktiv testning av omvandlingslogik mot ett Live Spark-kluster. Dataflöde kluster tar 5–7 minuter att värma upp och användarna rekommenderas att aktivera felsökning först om de planerar att utföra Dataflöde utveckling. Mer information finns i Felsökningsläge.

    Skärmbild som visar var är skjutreglaget för felsökning av dataflöde.

Skapa transformeringslogik på dataflödesarbetsytan

Du genererar två dataflöden i den här självstudien. Det första dataflödet är en enkel källa att sänka för att generera en ny Delta Lake från CSV-filen för filmer. Slutligen skapar du den flödesdesign som följer för att uppdatera data i Delta Lake.

Slutligt flöde

Självstudiemål

  1. Använd datauppsättningskällan MoviesCSV från förutsättningarna och skapa en ny Delta Lake från den.
  2. Skapa logiken till uppdaterade betyg för 1988-filmer till "1".
  3. Ta bort alla filmer från 1950.
  4. Infoga nya filmer för 2021 genom att duplicera filmerna från 1960.

Börja från en tom dataflödesarbetsyta

  1. Välj källtransformeringen överst i fönstret för dataflödesredigeraren och välj sedan + Ny bredvid egenskapen Datauppsättning i fönstret Källinställningar :

    Skärmbild som visar var du lägger till en ny källdatauppsättning i dataflödet.

  2. Välj Azure Data Lake Storage Gen2 från fönstret Ny datauppsättning som visas och välj sedan Fortsätt.

    Skärmbild som visar var du väljer Azure Data Lake Storage Gen2 från fönstret Ny datauppsättning.

  3. Välj AvgränsadText som datamängdstyp och välj Fortsätt igen.

    Skärmbild som visar var du väljer formatet för datauppsättningen.

  4. Ge datauppsättningen namnet "MoviesCSV" och välj + Ny under Länkad tjänst för att skapa en ny länkad tjänst till filen.

  5. Ange information om ditt lagringskonto som skapades tidigare i avsnittet Krav och bläddra och välj den MoviesCSV-fil som du laddade upp där.

  6. När du har lagt till den länkade tjänsten markerar du kryssrutan Första raden som rubrik och väljer sedan OK för att lägga till källan.

  7. Gå till fliken Projektion i fönstret för dataflödesinställningar och välj sedan Identifiera datatyper.

  8. Välj + nu efter källan i dataflödesredigerarens fönster och rulla nedåt för att välja Mottagare under avsnittet Mål , och lägg till en ny mottagare i dataflödet.

    Skärmbild som visar var du lägger till ett mål för mottagare för dataflödet.

  9. På fliken Mottagare för de mottagarinställningar som visas efter att mottagaren har lagts till väljer du Infoga för mottagartypen och sedan Delta för datauppsättningstypen Infoga. Välj sedan Azure Data Lake Storage Gen2 för den länkade tjänsten.

    Skärmbild som visar information om mottagare för en infogad deltadatauppsättning.

  10. Välj ett mappnamn i lagringscontainern där du vill att tjänsten ska skapa Delta Lake.

  11. Navigera slutligen tillbaka till pipelinedesignern och välj Felsök för att köra pipelinen i felsökningsläge med bara den här dataflödesaktiviteten på arbetsytan. Detta genererar din nya Delta Lake i Azure Data Lake Storage Gen2.

  12. På menyn Fabriksresurser till vänster på skärmen väljer du + nu att lägga till en ny resurs och väljer sedan Dataflöde.

    Skärmbild som visar var du skapar ett nytt dataflöde i datafabriken.

  13. Som tidigare väljer du Filen MoviesCSV igen som källa och väljer sedan Identifiera datatyper igen på fliken Projektion .

  14. Den här gången, när du har skapat källan, väljer du + fönstret i dataflödesredigeraren och lägger till en filtertransformering i källan.

    Skärmbild som visar var du lägger till ett filtervillkor i dataflödet.

  15. Lägg till ett filter på villkor i fönstret Filterinställningar som endast tillåter filmrader som matchar 1950, 1960 och 1988.

    Skärmbild som visar var du lägger till ett filter i kolumnen År för datamängden.

  16. Lägg nu till en transformering av härledda kolumner för att uppdatera klassificeringar för varje film från 1988 till "1".

    Skärmbild som visar var uttrycket för den härledda kolumnen ska anges.

  17. Update, insert, delete, and upsert principer skapas i ändringsradtransformen. Lägg till en ändringsradtransformering efter din härledda kolumn.

  18. Dina alter row-principer bör se ut så här.

    Ändra rad

  19. Nu när du har angett rätt princip för varje ändringsradtyp kontrollerar du att rätt uppdateringsregler har angetts för mottagartransformeringen

    Kanalmottagare

  20. Här använder vi Delta Lake-mottagaren till din Azure Data Lake Storage Gen2-datasjö och tillåter infogningar, uppdateringar och borttagningar.

  21. Observera att nyckelkolumnerna är en sammansatt nyckel som består av primärnyckelkolumnen film och årskolumnen. Det beror på att vi skapade falska filmer från 2021 genom att duplicera raderna från 1960. Detta undviker kollisioner när du letar upp de befintliga raderna genom att tillhandahålla unikhet.

Ladda ned slutfört exempel

Här är en exempellösning för Delta-pipelinen med ett dataflöde för att uppdatera/ta bort rader i sjön.

Läs mer om språket för dataflödesuttryck.