Gegevens transformeren in Delta Lake met behulp van mapping dataflows

Van toepassing op: Azure Data Factory Azure Synapse Analytics

Aanbeveling

Data Factory in Microsoft Fabric is de volgende generatie van Azure Data Factory, met een eenvoudigere architectuur, ingebouwde AI en nieuwe functies. Als u nieuw bent in gegevensintegratie, begint u met Fabric Data Factory. Bestaande ADF-workloads kunnen upgraden naar Fabric om toegang te krijgen tot nieuwe mogelijkheden voor gegevenswetenschap, realtime analyses en rapportage.

Als u nieuw bent bij Azure Data Factory, zie Introductie van Azure Data Factory.

In deze zelfstudie gebruikt u het canvas voor gegevensstromen om gegevensstromen te maken waarmee u gegevens in Azure Data Lake Storage (ADLS) Gen2 kunt analyseren en transformeren en opslaan in Delta Lake.

Vereisten

  • Azure-abonnement. Als u geen Azure abonnement hebt, maakt u een vrij Azure account voordat u begint.
  • Azure-opslagaccount. U gebruikt ADLS-opslag als bron - en sinkgegevensopslag . Als u geen opslagaccount hebt, raadpleegt u Maak een Azure-opslagaccount voor stappen om er een te maken.

Het bestand dat we in deze zelfstudie transformeren, is MoviesDB.csv, die hier te vinden is. Als u het bestand wilt ophalen uit GitHub, kopieert u de inhoud naar een teksteditor van uw keuze om lokaal op te slaan als een .csv bestand. Zie Upload-blobs met de Azure-portal om het bestand naar uw opslagaccount te uploaden. De voorbeelden verwijzen naar een container met de naam sample-data.

Een data factory maken

In deze stap maakt u een data factory en opent u de Data Factory UX om een pijplijn in de data factory te maken.

  1. Open Microsoft Edge of Google Chrome. Momenteel wordt de Data Factory-gebruikersinterface alleen ondersteund in de webbrowsers Microsoft Edge en Google Chrome.

  2. Selecteer in het linkermenu Een resource maken>Integratie>Data Factory

  3. Op de pagina Nieuwe gegevensfabriek, voer onder NaamADFTutorialDataFactory in.

  4. Selecteer de Azure subscription waarin u de data factory wilt maken.

  5. Voer voor de resourcegroep een van de volgende stappen uit:

    een. Selecteer Bestaande gebruiken en selecteer een bestaande resourcegroep in de vervolgkeuzelijst.

    b. Selecteer Nieuwe maken en voer de naam van een resourcegroep in.

    Zie Resourcegroepen gebruiken om uw Azure resources te beheren voor meer informatie over resourcegroepen.

  6. Selecteer onder VersieV2.

  7. Selecteer onder Locatie een locatie voor de data factory. In de vervolgkeuzelijst worden alleen ondersteunde locaties weergegeven. Gegevensarchieven (bijvoorbeeld Azure Storage en SQL Database) en berekeningen (bijvoorbeeld Azure HDInsight) die door de data factory worden gebruikt, kunnen zich in andere regio's bevinden.

  8. Selecteer Maken.

  9. Als het maken is voltooid, ziet u de melding in het meldingencentrum. Selecteer Ga naar de resource om naar de Data Factory-pagina te navigeren.

  10. Selecteer Auteur & Monitor om de Data Factory-gebruikersinterface op een afzonderlijk tabblad te starten.

Een pijplijn maken met een gegevensstroomactiviteit

In deze stap maakt u een pijplijn die een gegevensstroomactiviteit bevat.

  1. Selecteer Orchestrate op de startpagina.

    Schermopname van de startpagina van ADF.

  2. Voer op het tabblad Algemeen voor de pijplijn DeltaLake in voor de naam van de pijplijn.

  3. Vouw in het deelvenster Activiteiten de accordeon Verplaatsen en Transformeren uit. Sleep de activiteit Data Flow van het deelvenster naar het pijplijncanvas.

    Schermafbeelding van het pijplijncanvas waarin u de Data Flow-activiteit kunt plaatsen.

  4. Zet in de bovenbalk van het pijplijncanvas de schuifregelaar Data Flow foutopsporing aan. Met de foutopsporingsmodus kunt u interactieve transformatielogica testen op een live Spark-cluster. Data Flow-clusters nemen 5-7 minuten in beslag om op te starten en gebruikers wordt aangeraden eerst debug in te schakelen als ze van plan zijn om Data Flow-ontwikkeling uit te voeren. Zie De foutopsporingsmodus voor meer informatie.

    Schermopname die laat zien waar de schuifregelaar voor foutopsporing van gegevensstromen is.

Transformatielogica bouwen in het gegevensstroomcanvas

In deze zelfstudie genereert u twee gegevensstromen. De eerste gegevensstroom is een eenvoudige bron om een nieuwe Delta Lake te genereren op basis van het CSV-bestand met films. Ten slotte maakt u het stroomontwerp dat volgt om gegevens in Delta Lake bij te werken.

Laatste stroom

Zelfstudiedoelstellingen

  1. Gebruik de bron van de MoviesCSV-dataset uit de vereisten en maak er een nieuwe Delta Lake van.
  2. Bouw de logica om beoordelingen voor 1988 films te bijwerken naar '1'.
  3. Verwijder alle films uit 1950.
  4. Voeg nieuwe films voor 2021 in door de films uit 1960 te dupliceren.

Beginnen met een leeg gegevensstroomcanvas

  1. Selecteer de brontransformatie boven aan het venster van de gegevensstroomeditor en selecteer vervolgens + Nieuw naast de eigenschap Gegevensset in het venster Broninstellingen :

    Schermopname die laat zien waar een nieuwe brongegevensset moet worden toegevoegd aan de gegevensstroom.

  2. Selecteer Azure Data Lake Storage Gen2 in het venster Nieuwe gegevensset dat wordt weergegeven en selecteer vervolgens Continue.

    Schermafbeelding waarin wordt weergegeven waar u Azure Data Lake Storage Gen2 kunt selecteren in het venster Nieuwe gegevensset.

  3. Kies DelimitedText voor het gegevenssettype en selecteer Opnieuw doorgaan .

    Schermopname die laat zien waar de indeling voor de gegevensset moet worden geselecteerd.

  4. Geef de gegevensset de naam 'MoviesCSV' en selecteer + Nieuw onder Gekoppelde service om een nieuwe gekoppelde service aan het bestand te maken.

  5. Geef de details op voor uw opslagaccount dat u eerder hebt gemaakt in de sectie Vereisten en blader en selecteer het FilmsCSV-bestand dat u daar hebt geüpload.

  6. Nadat u de gekoppelde service hebt toegevoegd, schakelt u het selectievakje Eerste rij als koptekst in en selecteert u VERVOLGENS OK om de bron toe te voegen.

  7. Navigeer naar het tabblad Projectie van het venster met instellingen voor gegevensstromen en selecteer Gegevenstypen detecteren.

  8. Selecteer nu de + na de bron in het venster van de gegevensstroomeditor en schuif omlaag om Sink te selecteren onder de sectie Bestemming , waarbij u een nieuwe sink toevoegt aan uw gegevensstroom.

    Schermopname die laat zien waar een sinkbestemming voor de gegevensstroom moet worden toegevoegd.

  9. Selecteer op het tabblad Sink voor de sink-instellingen die worden weergegeven nadat de sink is toegevoegd, de optie Inline voor het sinktype en vervolgens Delta voor het gegevenssettype Inline. Selecteer vervolgens uw Azure Data Lake Storage Gen2 voor de Linked-service.

    Schermopname van de Sink-details voor een inline-deltagegevensset.

  10. Kies een mapnaam in uw opslagcontainer waar u wilt dat de service de Delta Lake maakt.

  11. Ga ten slotte terug naar de ontwerpfunctie voor pijplijnen en selecteer Fouten opsporen om de pijplijn uit te voeren in de foutopsporingsmodus met alleen deze gegevensstroomactiviteit op het canvas. Hiermee wordt uw nieuwe Delta Lake in Azure Data Lake Storage Gen2 gegenereerd.

  12. Selecteer nu in het menu Factory-resources aan de linkerkant + van het scherm om een nieuwe resource toe te voegen en selecteer vervolgens Gegevensstroom.

    Schermopname die laat zien waar een nieuwe gegevensstroom in de data factory moet worden gemaakt.

  13. Net als voorheen selecteert u het MoviesCSV-bestand opnieuw als bron en selecteert u Vervolgens gegevenstypen opnieuw detecteren op het tabblad Projectie .

  14. Nadat u de bron hebt gemaakt, selecteert u deze keer het + venster van de gegevensstroomeditor en voegt u een filtertransformatie toe aan uw bron.

    Schermopname die laat zien waar een filtervoorwaarde moet worden toegevoegd aan de gegevensstroom.

  15. Voeg een Filter op voorwaarde toe in het venster Filterinstellingen waarmee alleen filmrijen zijn toegestaan die overeenkomen met films uit 1950, 1960 en 1988.

    Schermopname die laat zien waar een filter moet worden toegevoegd in de kolom Year voor de gegevensset.

  16. Voeg nu een afgeleide kolomtransformatie toe om classificaties voor elke 1988-film bij te werken aan '1'.

    Schermopname die laat zien waar de expressie voor de afgeleide kolom moet worden ingevoerd.

  17. Update, insert, delete, and upsert beleidsregels worden gemaakt in de alter Row transform. Voeg een wijzigingsrijtransformatie toe na de afgeleide kolom.

  18. Uw beleidsregels voor het wijzigen van rijen moeten er als volgt uitzien.

    Rij wijzigen

  19. Nu u het juiste beleid hebt ingesteld voor elk type wijzigingsrij, controleert u of de juiste updateregels zijn ingesteld voor de sinktransformatie.

    Zinken

  20. Hier gebruiken we de Delta Lake-sink voor je Azure Data Lake Storage Gen2-data lake en staan we het invoegen, bijwerken en verwijderen toe.

  21. Houd er rekening mee dat de sleutelkolommen een samengestelde sleutel zijn die bestaat uit de kolom Primaire sleutel van film en jaar. Dit komt doordat we nepfilms van 2021 hebben gemaakt door de 1960 rijen te dupliceren. Dit voorkomt botsingen bij het opzoeken van de bestaande rijen door voor uniekheid te zorgen.

Voltooid voorbeeld downloaden

Hier is een voorbeeldoplossing voor de Delta-pijplijn met een gegevensstroom voor het bijwerken/verwijderen van rijen in het datameer.

Meer informatie over de expressietaal voor gegevensstromen.