Module 2: Gegevens transformeren met een gegevensstroom in Data Factory
Deze module duurt ongeveer 25 minuten om een gegevensstroom te maken, transformaties toe te passen en de onbewerkte gegevens uit de tabel Brons naar een Gold Lakehouse-tabel te verplaatsen.
Nu de onbewerkte gegevens uit de laatste module in uw Bronze Lakehouse-tabel zijn geladen, kunt u die gegevens voorbereiden en verrijken door deze te combineren met een andere tabel met kortingen voor elke leverancier en hun reizen gedurende een bepaalde dag. Deze laatste Gold Lakehouse-tabel wordt geladen en klaar voor gebruik.
De stappen op hoog niveau in de gegevensstroom zijn als volgt:
- Haal onbewerkte gegevens op uit de Lakehouse-tabel die is gemaakt door de Copy-activiteit in module 1: Een pijplijn maken met Data Factory.
- Transformeer de gegevens die zijn geïmporteerd uit de Lakehouse-tabel.
- Verbinding maken naar een CSV-bestand met kortingsgegevens.
- Transformeer de kortingengegevens.
- Combineer ritten en kortingengegevens.
- Laad de uitvoerquery in de Tabel Gold Lakehouse.
Gegevens ophalen uit een Lakehouse-tabel
Selecteer in de zijbalk Maken en vervolgens Dataflow Gen2 om een nieuwe gegevensstroom gen2 te maken.
Selecteer In het menu nieuwe gegevensstroom de optie Gegevens ophalen en vervolgens Meer....
Zoek en selecteer de Lakehouse-connector .
Het dialoogvenster Verbinding maken naar gegevensbron wordt weergegeven en er wordt automatisch een nieuwe verbinding voor u gemaakt op basis van de momenteel aangemelde gebruiker. Selecteer Volgende.
Het dialoogvenster Gegevens kiezen wordt weergegeven. Gebruik het navigatiedeelvenster om het Lakehouse te zoeken dat u in de vorige module voor de bestemming hebt gemaakt en selecteer de Tutorial_Lakehouse gegevenstabel.
(Optioneel) Zodra uw canvas is gevuld met de gegevens, kunt u kolomprofielgegevens instellen, omdat dit handig is voor gegevensprofilering. U kunt de juiste transformatie toepassen en de juiste gegevenswaarden erop toepassen.
Hiervoor selecteert u Opties in het lintvenster, selecteert u vervolgens de eerste drie opties onder het kolomprofiel en selecteert u VERVOLGENS OK.
De gegevens transformeren die zijn geïmporteerd uit Lakehouse
Selecteer het gegevenstypepictogram in de kolomkop van de tweede kolom, IpepPickupDatetime, om een vervolgkeuzelijst weer te geven en selecteer het gegevenstype in het menu om de kolom te converteren van het type Datum/tijd naar datum .
(Optioneel) Selecteer op het tabblad Start van het lint de optie Kolommen kiezen in de groep Kolommen beheren.
(Optioneel) Schakel in het dialoogvenster Kolommen kiezen enkele kolommen uit die hier worden vermeld en selecteer VERVOLGENS OK.
- lpepDropoffDatetime
- puLocationId
- doLocationId
- pickupLatitude
- dropoffLongitude
- rateCodeID
Selecteer het filter en de sorteerkeuzemenu van de kolom StoreAndFwdFlag . (Als u een waarschuwing zietLijst kan onvolledig zijn, selecteer Meer laden om alle gegevens weer te geven.)
Selecteer 'Y' om alleen rijen weer te geven waarop een korting is toegepast en selecteer vervolgens OK.
Selecteer het kolomsorteer- en filterkeuzemenu IpepPickupDatetime , selecteer vervolgens Datumfilters en kies het filter Between... dat is opgegeven voor datum- en datum/tijdtypen.
Selecteer in het dialoogvenster Rijen filteren datums tussen 1 januari 2015 en 31 januari 2015 en selecteer VERVOLGENS OK.
Verbinding maken naar een CSV-bestand met kortingsgegevens
Nu, met de gegevens van de reizen ter plaatse, willen we de gegevens laden die de respectieve kortingen voor elke dag en VendorID bevatten, en de gegevens voorbereiden voordat deze worden gecombineerd met de gegevens van de trips.
Selecteer op het tabblad Start in het menu van de gegevensstroomeditor de optie Gegevens ophalen en kies vervolgens Tekst/CSV.
Geef in het dialoogvenster Verbinding maken voor gegevensbron de volgende details op:
- Bestandspad of URL -
https://raw.githubusercontent.com/ekote/azure-architect/master/Generated-NYC-Taxi-Green-Discounts.csv
- Verificatietype - Anoniem
Selecteer Volgende.
- Bestandspad of URL -
Selecteer Maken in het dialoogvenster Voorbeeldbestandsgegevens.
De kortingsgegevens transformeren
Als u de gegevens bekijkt, zien we dat de kopteksten in de eerste rij voorkomen. Promoveren naar kopteksten door het contextmenu van de tabel linksboven in het rastergebied van het voorbeeld te selecteren om de eerste rij als kopteksten te selecteren.
Notitie
Nadat u de kopteksten hebt gepromoot, ziet u een nieuwe stap die is toegevoegd aan het deelvenster Toegepaste stappen boven aan de gegevensstroomeditor voor de gegevenstypen van uw kolommen.
Klik met de rechtermuisknop op de kolom VendorID en selecteer in het contextmenu dat wordt weergegeven de optie Andere kolommen opheffen. Hiermee kunt u kolommen transformeren in kenmerk-waardeparen, waarbij kolommen rijen worden.
Als de tabel niet is gepivoted, wijzigt u de naam van de kolommen Kenmerk en Waarde door erop te dubbelklikken en Kenmerk te wijzigen in Datum en Waarde in Korting.
Wijzig het gegevenstype van de kolom Datum door het gegevenstypemenu links van de kolomnaam te selecteren en Datum te kiezen.
Selecteer de kolom Korting en selecteer vervolgens het tabblad Transformeren in het menu. Selecteer de kolom Getal en selecteer vervolgens Standaard numerieke transformaties in het submenu en kies Delen.
Voer in het dialoogvenster Delen de waarde 100 in.
Reis- en kortingengegevens combineren
De volgende stap bestaat uit het combineren van beide tabellen in één tabel met de korting die moet worden toegepast op de reis en het aangepaste totaal.
Schakel eerst de knop Diagramweergave in, zodat u beide query's kunt zien.
Selecteer de nyc_taxi-query en selecteer op het tabblad Start het menu Combineren en kies Query's samenvoegen en voeg query's als nieuw toe.
Selecteer in het dialoogvenster Samenvoegen de optie Gegenereerd-NYC-Taxi-Green-Kortingen in de vervolgkeuzelijst Rechts voor samenvoeging en selecteer vervolgens het pictogram 'gloeilamp' in de rechterbovenhoek van het dialoogvenster om de voorgestelde toewijzing van kolommen tussen de twee tabellen weer te geven.
Kies elk van de twee voorgestelde kolomtoewijzingen, één voor één, en wijs de vendorID en datumkolommen uit beide tabellen toe. Wanneer beide toewijzingen worden toegevoegd, worden de overeenkomende kolomkoppen in elke tabel gemarkeerd.
Er wordt een bericht weergegeven waarin u wordt gevraagd gegevens uit meerdere gegevensbronnen te combineren om de resultaten te bekijken. Selecteer OK in het dialoogvenster Samenvoegen .
In het tabelgebied ziet u in eerste instantie een waarschuwing dat de evaluatie is geannuleerd omdat het combineren van gegevens uit meerdere bronnen gegevens van de ene bron naar de andere kan onthullen. Selecteer Doorgaan als de mogelijkheid om gegevens weer te geven in orde is. Selecteer Doorgaan om de gecombineerde gegevens weer te geven.
U ziet hoe een nieuwe query is gemaakt in de diagramweergave met de relatie van de nieuwe samenvoegquery met de twee query's die u eerder hebt gemaakt. Als u naar het tabelvenster van de editor kijkt, schuift u naar de rechterkant van de lijst met samenvoegquerykolommen om een nieuwe kolom met tabelwaarden weer te geven. Dit is de kolom Gegenereerde NYC Taxi-Green-Kortingen en het type is [Tabel]. In de kolomkop ziet u een pictogram met twee pijlen die in tegenovergestelde richtingen gaan, zodat u kolommen in de tabel kunt selecteren. Deselecteer alle kolommen behalve Korting en selecteer VERVOLGENS OK.
Met de kortingswaarde nu op rijniveau kunnen we een nieuwe kolom maken om het totale bedrag na korting te berekenen. Hiervoor selecteert u het tabblad Kolom toevoegen boven aan de editor en kiest u Aangepaste kolom in de groep Algemeen.
In het dialoogvenster Aangepaste kolom kunt u de Power Query-formuletaal (ook wel M genoemd) gebruiken om te definiëren hoe de nieuwe kolom moet worden berekend. Voer TotalAfterDiscount in voor de nieuwe kolomnaam, selecteer Valuta voor het gegevenstype en geef de volgende M-expressie op voor de formule aangepaste kolom:
if [totalAmount] > 0 then [totalAmount] * ( 1 -[Discount] ) else [totalAmount]
Selecteer vervolgens OK.
Selecteer de kolom TotalAfterDiscount en selecteer vervolgens het tabblad Transformeren boven aan het editorvenster. Selecteer in de kolomgroep Getal de vervolgkeuzelijst Afronden en kies Vervolgens Afronden....
Voer in het dialoogvenster Ronde 2 in voor het aantal decimalen en selecteer VERVOLGENS OK.
Wijzig het gegevenstype van de IpepPickupDatetime van Date to Date/Time.
Vouw ten slotte het deelvenster Query-instellingen uit vanaf de rechterkant van de editor als deze nog niet is uitgevouwen en wijzig de naam van de query van Samenvoegen in Uitvoer.
De uitvoerquery laden in een tabel in Lakehouse
Nu de uitvoerquery volledig is voorbereid en met gegevens die klaar zijn voor uitvoer, kunnen we de uitvoerbestemming voor de query definiëren.
Selecteer de uitvoerquery die u eerder hebt gemaakt. Selecteer vervolgens het tabblad Start in de editor en voeg gegevensbestemming toe vanuit de groep Query om een Lakehouse-bestemming te selecteren.
In het dialoogvenster Verbinding maken naar gegevensbestemming moet uw verbinding al zijn geselecteerd. Selecteer Volgende om door te gaan.
Blader in het dialoogvenster Doeldoel kiezen naar het Lakehouse waar u de gegevens wilt laden en geef de nieuwe tabel een naam nyc_taxi_with_discounts en selecteer vervolgens opnieuw Volgende .
Laat in het dialoogvenster Doelinstellingen kiezen de standaardmethode Vervangen staan, controleer of uw kolommen correct zijn toegewezen en selecteer Instellingen opslaan.
Controleer in het hoofdvenster van de editor of u de uitvoerbestemming ziet in het deelvenster Query-instellingen voor de uitvoertabel en selecteer Vervolgens Publiceren.
Belangrijk
Wanneer de eerste Dataflow Gen2 wordt gemaakt in een werkruimte, worden Lakehouse- en Warehouse-items ingericht samen met hun gerelateerde SQL-analyse-eindpunt en semantische modellen. Deze items worden gedeeld door alle gegevensstromen in de werkruimte en zijn vereist voor gebruik van Dataflow Gen2, mogen niet worden verwijderd en zijn niet bedoeld om rechtstreeks door gebruikers te worden gebruikt. De items zijn een implementatiedetail van Dataflow Gen2. De items zijn niet zichtbaar in de werkruimte, maar zijn mogelijk toegankelijk in andere ervaringen, zoals notebook, SQL-eindpunt, Lakehouse en Warehouse. U kunt de items herkennen door hun voorvoegsel in de naam. Het voorvoegsel van de items is 'DataflowsStaging'.
(Optioneel) Op de werkruimtepagina kunt u de naam van de gegevensstroom wijzigen door het beletselteken rechts van de naam van de gegevensstroom te selecteren die wordt weergegeven nadat u de rij hebt geselecteerd en Eigenschappen hebt gekozen.
Selecteer het vernieuwingspictogram voor de gegevensstroom nadat u de rij hebt geselecteerd. Als u klaar bent, ziet u dat de nieuwe Lakehouse-tabel is gemaakt zoals geconfigureerd in de doelinstellingen voor gegevens .
Controleer uw Lakehouse om de nieuwe tabel weer te geven die daar is geladen.
Gerelateerde inhoud
In deze tweede module voor onze end-to-end-zelfstudie voor uw eerste gegevensintegratie met behulp van Data Factory in Microsoft Fabric hebt u geleerd hoe u het volgende kunt doen:
- Maak een nieuwe Gegevensstroom Gen2.
- Voorbeeldgegevens importeren en transformeren.
- Tekst/CSV-gegevens importeren en transformeren.
- Voeg gegevens uit beide gegevensbronnen samen in een nieuwe query.
- Gegevens transformeren en nieuwe kolommen genereren in een query.
- Configureer een uitvoerdoelbron voor een query.
- Wijzig de naam van uw nieuwe gegevensstroom en vernieuw deze.
Ga nu verder met de volgende sectie om uw gegevenspijplijn te integreren.