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
I sidofältet väljer du Skapa och sedan Dataflöde Gen2 för att skapa ett nytt dataflöde gen2.
I den nya dataflödesmenyn väljer du Hämta data och sedan Mer....
Sök efter och välj Lakehouse-anslutningsappen.
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.
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.
(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.
Transformera data som importerats från Lakehouse
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 .
(Valfritt) På fliken Start i menyfliksområdet väljer du alternativet Välj kolumner i gruppen Hantera kolumner .
(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
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.)
Välj "Y" om du bara vill visa rader där en rabatt tillämpades och välj sedan OK.
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.
I dialogrutan Filtrera rader väljer du datum mellan 1 januari 2015 och 31 januari 2015 och väljer sedan OK.
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.
På fliken Start i dataflödesredigerarens meny väljer du alternativet Hämta data och väljer sedan Text/CSV.
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.
- Filsökväg eller URL -
I dialogrutan Förhandsgranska fildata väljer du Skapa.
Transformera rabattdata
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.
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.
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.
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.
Ändra datatypen för kolumnen Datum genom att välja menyn datatyp till vänster om kolumnnamnet och välja Datum.
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.
I dialogrutan Dividera anger du värdet 100.
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.
Växla först knappen Diagramvy så att du kan se båda dina frågor.
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.
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.
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.
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 .
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.
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.
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 .
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.
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....
I dialogrutan Avrunda anger du 2 för antalet decimaler och väljer sedan OK.
Ändra datatypen för IpepPickupDatetime från Datum till Datum/tid.
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.
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.
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 .
I dialogrutan Anslut till datamål bör anslutningen redan vara markerad. Klicka på Nästa när du vill fortsätta.
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.
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.
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".
(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.
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 .
Kontrollera Lakehouse för att se den nya tabellen som lästs in där.
Relaterat innehåll
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.