Modul 2: Transformera data med ett dataflöde i Data Factory

Den här modulen tar cirka 25 minuter att skapa ett dataflöde, tillämpa transformeringar och flytta rådata från tabellen Brons till en Gold Lakehouse-tabell.

Med rådata inlästa i din Bronze Lakehouse-tabell från den sista modulen kan du nu förbereda dessa data och berika dem genom att kombinera dem med en annan tabell som innehåller rabatter för varje leverantör och deras resor under en viss dag. Den här sista Gold Lakehouse-tabellen är laddad och redo för förbrukning.

Stegen på hög nivå i dataflödet är följande:

  • Hämta rådata från lakehouse-tabellen som skapats av aktiviteten Kopiera i modul 1: Skapa en pipeline med Data Factory.
  • Transformera data som importerats från Lakehouse-tabellen.
  • Anslut till en CSV-fil som innehåller rabattdata.
  • Transformera rabatternas data.
  • Kombinera resor och rabattdata.
  • Läs in utdatafrågan i Gold Lakehouse-tabellen.

Hämta data från en Lakehouse-tabell

  1. I sidofältet väljer du Skapa och sedan Dataflöde Gen2 för att skapa ett nytt dataflöde gen2. Screenshot showing the Fabric Create page with the Dataflow Gen2 button highlighted.

  2. I den nya dataflödesmenyn väljer du Hämta data och sedan Mer....

    Screenshot showing the Dataflow menu with Get data button highlighted and the More... option highlighted from its menu.

  3. Sök efter och välj Lakehouse-anslutningsappen.

    Screenshot showing the selection of the Lakehouse data source from the Choose data source menu.

  4. Dialogrutan Anslut till datakälla visas och en ny anslutning skapas automatiskt för dig baserat på den inloggade användaren. Välj Nästa.

    Screenshot showing the configuration of the data source settings for your new Lakehouse with your current signed in user, and the Next button selected.

  5. Dialogrutan Välj data visas. Använd navigeringsfönstret för att hitta Lakehouse som du skapade för målet i föregående modul och välj den Tutorial_Lakehouse datatabellen.

    Screenshot showing the Lakehouse browser with the workspace, lakehouse, and table created with the Copy activity in module 1.

  6. (Valfritt) När arbetsytan har fyllts i med data kan du ange kolumnprofilinformation , eftersom detta är användbart för dataprofilering. Du kan använda rätt transformering och rikta rätt datavärden baserat på den.

    Det gör du genom att välja Alternativ i menyfliksområdet, sedan välja de tre första alternativen under Kolumnprofil och sedan välja OK.

    Screenshot showing the column options selection for your data.

Transformera data som importerats från Lakehouse

  1. Välj datatypikonen i kolumnrubriken i den andra kolumnen, IpepPickupDatetime, för att visa en nedrullningsbara meny och välj datatypen på menyn för att konvertera kolumnen från datum/tid till datumtyp . Screenshot showing the selection of the Date data type for the IpepPickupDatetime column.

  2. (Valfritt) På fliken Start i menyfliksområdet väljer du alternativet Välj kolumner i gruppen Hantera kolumner .

    Screenshot showing the Choose columns button on the Home tab of the dataflow editor.

  3. (Valfritt)I dialogrutan Välj kolumner avmarkerar du några kolumner som visas här och väljer sedan OK.

    • lpepDropoffDatetime
    • puLocationId
    • doLocationId
    • pickupLatitude
    • dropoffLongitude
    • rateCodeID

    Screenshot showing the Choose columns dialog with the identified columns deselected.

  4. Välj kolumnen storeAndFwdFlags filter- och sorteringsmeny. (Om du ser en varning Listan kan vara ofullständig, välj Läs in mer för att se alla data.)

    Screenshot showing the filter and sort dialog for the column.

  5. Välj "Y" om du bara vill visa rader där en rabatt tillämpades och välj sedan OK.

    Screenshot showing the values filter with only 'Y' selected.

  6. Välj listrutan IpepPickupDatetime-kolumnsortering och filter, välj sedan Datumfilter och välj filtret Mellan... som anges för typerna Datum och Datum/tid.

    Screenshot showing the selection of the Date filters option in the column sort and format dropdown.

  7. I dialogrutan Filtrera rader väljer du datum mellan 1 januari 2015 och 31 januari 2015 och väljer sedan OK.

    Screenshot showing the selection of the dates in January 2015.

Anslut till en CSV-fil som innehåller rabattdata

Nu, med data från resorna på plats, vill vi läsa in de data som innehåller respektive rabatter för varje dag och VendorID och förbereda data innan vi kombinerar dem med trips-data.

  1. På fliken Start i dataflödesredigerarens meny väljer du alternativet Hämta data och väljer sedan Text/CSV.

    Screenshot showing the selection of the Get data menu from the Home tab, with Text/CSV highlighted.

  2. I dialogrutan Anslut till datakälla anger du följande information:

    • Filsökväg eller URL - https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
    • Autentiseringstyp – Anonym

    Välj sedan Nästa.

    Screenshot showing the Text/CSV settings for the connection.

  3. I dialogrutan Förhandsgranska fildata väljer du Skapa.

    Screenshot showing the Preview file data dialog with the Create button highlighted.

Transformera rabattdata

  1. När vi granskar data ser vi att rubrikerna verkar finnas på den första raden. Flytta upp dem till rubriker genom att välja tabellens snabbmeny längst upp till vänster i rutnätsområdet för förhandsgranskning för att välja Använd första raden som rubriker.

    Screenshot showing the selection of the Use first row as headers option from the table context menu.

    Kommentar

    När du har befordrat rubrikerna kan du se ett nytt steg som har lagts till i fönstret Tillämpade steg överst i dataflödesredigeraren till datatyperna i dina kolumner.

  2. Högerklicka på kolumnen VendorID och välj alternativet Ta bort andra kolumner från snabbmenyn som visas. På så sätt kan du omvandla kolumner till attribut/värde-par, där kolumner blir rader.

    Screenshot showing the context menu for the VendorID column with the Unpivot other columns selection highlighted.

  3. När tabellen inte är markerad byter du namn på kolumnerna Attribut och Värde genom att dubbelklicka på dem och ändra Attribut till Datum och Värde till Rabatt.

    Screenshot showing the table columns after renaming Attribute to Date and Value to Discount.

  4. Ändra datatypen för kolumnen Datum genom att välja menyn datatyp till vänster om kolumnnamnet och välja Datum.

    Screenshot showing the selection of the Date data type for the Date column.

  5. Välj kolumnen Rabatt och välj sedan fliken Transformera på menyn. Välj Kolumnen Tal och välj sedan Standard numeriska transformeringar från undermenyn och välj Dividera.

    Screenshot showing the selection of the Divide option to transform data in the Discount column.

  6. I dialogrutan Dividera anger du värdet 100.

    Screenshot showing the Divide dialog with the value 100 entered and the OK button highlighted.

Kombinera resor och rabattdata

Nästa steg är att kombinera båda tabellerna till en enda tabell som har den rabatt som ska tillämpas på resan och den justerade summan.

  1. Växla först knappen Diagramvy så att du kan se båda dina frågor.

    Screenshot showing the Diagram view toggle button with both queries created in this tutorial displayed.

  2. Välj den nyc_taxi frågan. På fliken Start väljer du menyn Kombinera och väljer Slå samman frågor och sedan Slå samman frågor som nya.

    Screenshot showing the Merge queries as new selection for the nyc_taxi query.

  3. I dialogrutan Sammanfoga väljer du Generated-NYC-Taxi-Green-Discounts från den högra tabellen för sammanslagningslistrutan och väljer sedan ikonen "glödlampa" längst upp till höger i dialogrutan för att se den föreslagna mappningen av kolumner mellan de två tabellerna.

    Screenshot showing the configuration of the Merge dialog with suggested column mappings displayed.

    Välj var och en av de två föreslagna kolumnmappningarna, en i taget, som mappar kolumnerna VendorID och datum från båda tabellerna. När båda mappningarna läggs till markeras de matchade kolumnrubrikerna i varje tabell.

  4. Ett meddelande visas där du uppmanas att tillåta att data från flera datakällor kombineras för att visa resultatet. Välj OK i dialogrutan Sammanfoga .

    Screenshot showing the request to approve combining data from multiple data sources, with the OK button highlighted.

  5. I tabellområdet ser du först en varning om att "Utvärderingen avbröts eftersom en kombination av data från flera källor kan avslöja data från en källa till en annan. Välj fortsätt om möjligheten att avslöja data är okej." Välj Fortsätt för att visa de kombinerade data.

    Screenshot showing the warning about combining data from multiple data sources with the Continue button highlighted.

  6. Observera hur en ny fråga skapades i diagramvyn som visar relationen mellan den nya sammanslagningsfrågan och de två frågor som du skapade tidigare. Om du tittar på tabellfönstret i redigeraren bläddrar du till höger om listan Slå samman frågekolumner för att se att det finns en ny kolumn med tabellvärden. Det här är kolumnen "Genererad NYC Taxi-Green-Discounts" och dess typ är [Tabell]. I kolumnrubriken finns en ikon med två pilar som går i motsatta riktningar, så att du kan välja kolumner från tabellen. Avmarkera alla kolumner utom Rabatt och välj sedan OK.

    Screenshot showing the merged query with the column selection menu displayed for the newly generated column Generated-NYC-Taxi-Green-Discounts.

  7. Med rabattvärdet nu på radnivå kan vi skapa en ny kolumn för att beräkna det totala beloppet efter rabatten. Om du vill göra det väljer du fliken Lägg till kolumn överst i redigeraren och väljer Anpassad kolumn från gruppen Allmänt .

    Screenshot showing the Add custom column button highlighted on the General section of the Add column tab.

  8. I dialogrutan Anpassad kolumn kan du använda formelspråket Power Query (kallas även M) för att definiera hur den nya kolumnen ska beräknas. Ange TotalAfterDiscount som Nytt kolumnnamn, välj Valuta för datatypen och ange följande M-uttryck för formeln Anpassad kolumn:

    if [totalAmount] > 0 then [totalAmount] * ( 1 -[Discount] ) else [totalAmount]

    Välj sedan OK.

    Screenshot showing the Custom column configuration screen with the New column name, Data type and Custom column formula highlighted.

  9. Välj den nyligen skapade kolumnen TotalAfterDiscount och välj sedan fliken Transformera överst i redigeringsfönstret. I kolumngruppen Nummer väljer du listrutan Avrundning och väljer sedan Runda....

    Screenshot showing the Round... option on the Transform tab of the editor window.

  10. I dialogrutan Avrunda anger du 2 för antalet decimaler och väljer sedan OK.

    Screenshot showing the Round dialog with 2 for the number of decimal places and the OK button highlighted.

  11. Ändra datatypen för IpepPickupDatetime från Datum till Datum/tid.

    Screenshot showing the selection of the Date/Time data type for the IpepPickupDatetime column.

  12. Expandera slutligen fönstret Frågeinställningar till höger i redigeraren om den inte redan har expanderats och byt namn på frågan från Sammanfoga till Utdata.

    Screenshot showing the renaming of the query from Merge to Output.

Läs in utdatafrågan till en tabell i Lakehouse

När utdatafrågan nu är helt förberedd och med data redo att matas ut kan vi definiera utdatamålet för frågan.

  1. Välj den kopplingsfråga för utdata som skapades tidigare. Välj sedan fliken Start i redigeraren och Lägg till datamål från frågegruppering för att välja ett Lakehouse-mål .

    Screenshot showing the Add data destination button with Lakehouse highlighted.

  2. I dialogrutan Anslut till datamål bör anslutningen redan vara markerad. Klicka på Nästa när du vill fortsätta.

  3. I dialogrutan Välj målmål bläddrar du till Lakehouse där du vill läsa in data och namnger den nya tabellen nyc_taxi_with_discounts och väljer sedan Nästa igen.

    Screenshot showing the Choose destination target dialog with Table name nyc_taxi_with_discounts.

  4. I dialogrutan Välj målinställningar lämnar du standardmetoden Ersätt uppdatering, dubbelkollar att kolumnerna är korrekt mappade och väljer Spara inställningar.

    Screenshot showing the Choose destination settings dialog with the Save settings button highlighted.

  5. I huvudredigerarens fönster bekräftar du att du ser utdatamålet i fönstret Frågeinställningar för tabellen Utdata och väljer sedan Publicera.

    Viktigt!

    När den första Dataflow Gen2 skapas på en arbetsyta etableras Lakehouse- och Warehouse-objekten tillsammans med deras relaterade SQL-analysslutpunkter och semantiska modeller. Dessa objekt delas av alla dataflöden på arbetsytan och krävs för att Dataflow Gen2 ska fungera, bör inte tas bort och är inte avsedda att användas direkt av användare. Objekten är en implementeringsinformation för Dataflow Gen2. Objekten är inte synliga på arbetsytan, men kan vara tillgängliga i andra funktioner som Notebook, SQL-slutpunkten, Lakehouse och Warehouse. Du kan känna igen objekten med deras prefix i namnet. Prefixet för objekten är "DataflowsStaging".

  6. (Valfritt) På arbetsytans sida kan du byta namn på dataflödet genom att välja ellipsen till höger om det dataflödesnamn som visas när du har valt raden och välja Egenskaper.

    Screenshot showing the Properties option selected on the menu for a dataflow where it can be renamed.

  7. Välj uppdateringsikonen för dataflödet när du har valt dess rad. När den är klar bör du se den nya Lakehouse-tabellen som har skapats som konfigurerad i inställningarna för datamål .

    Screenshot showing the selection of the refresh button to refresh the dataflow.

  8. Kontrollera Lakehouse för att se den nya tabellen som lästs in där.

I den här andra modulen i vår självstudie från slutpunkt till slutpunkt för din första dataintegrering med hjälp av Data Factory i Microsoft Fabric lärde du dig att:

  • Skapa ett nytt Dataflöde Gen2.
  • Importera och transformera exempeldata.
  • Importera och transformera text-/CSV-data.
  • Sammanfoga data från båda datakällorna till en ny fråga.
  • Transformera data och generera nya kolumner i en fråga.
  • Konfigurera en utdatamålkälla för en fråga.
  • Byt namn på och uppdatera ditt nya dataflöde.

Fortsätt till nästa avsnitt nu för att integrera din datapipeline.