Gegevens veilig transformeren met behulp van een toewijzingsgegevensstroom

VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics

Zie Inleiding tot Azure Data Factory als u niet bekend bent met Azure Data Factory.

In deze zelfstudie gebruikt u de gebruikersinterface (UI) van Data Factory om een pijplijn te maken waarmee gegevens van een Azure Data Lake Storage Gen2 bron worden gekopieerd en getransformeerd naar een Data Lake Storage Gen2 sink (beide bieden toegang tot alleen geselecteerde netwerken) met behulp van de toewijzingsgegevensstroom in Data Factory Managed Virtual Network. U kunt het configuratiepatroon in deze zelfstudie uitbreiden wanneer u gegevens transformeert met behulp van een toewijzingsgegevensstroom.

In deze zelfstudie voert u de volgende stappen uit:

  • Een data factory maken.
  • Maak een pijplijn met een gegevensstroomactiviteit.
  • Bouw een toewijzingsgegevensstroom met vier transformaties.
  • De uitvoering van de pijplijn testen.
  • Een gegevensstroomactiviteit bewaken.

Vereisten

  • Azure-abonnement. Als u nog geen abonnement op Azure hebt, maak dan een gratis Azure-account aan voordat u begint.
  • Azure-opslagaccount. U gebruikt Data Lake Storage als bron- en sinkgegevensopslag. Als u geen opslagaccount hebt, raadpleegt u het artikel Een opslagaccount maken om een account te maken. Zorg ervoor dat het opslagaccount alleen toegang toestaat vanuit geselecteerde netwerken.

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

Een gegevensfactory maken

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

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

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

  3. Voer op de pagina Nieuwe data factoryADFTutorialDataFactory in bij Naam.

    De naam van de data factory moet wereldwijd uniek zijn. Als u een foutbericht ontvangt over de naamwaarde, voert u een andere naam in voor de data factory (bijvoorbeeld uwnaamADFTutorialDataFactory). Zie Data Factory - Naamgevingsregels voor meer informatie over naamgevingsregels voor Data Factory-artefacten.

  4. Selecteer het Azure-abonnement waarin u de data factory wilt maken.

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

    • Selecteer Bestaande gebruiken en selecteer een bestaande resourcegroep in de vervolgkeuzelijst.
    • Selecteer Nieuwe maken en voer de naam van een resourcegroep in.

    Zie Resourcegroepen gebruiken om Azure-resources te beheren voor meer informatie.

  6. Selecteer V2 onder Versie.

  7. Selecteer onder Locatie een locatie voor de data factory. In de vervolgkeuzelijst worden alleen ondersteunde locaties weergegeven. Gegevensarchieven (bijvoorbeeld Azure Storage en Azure 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 Naar de resource gaan om naar de pagina Data Factory te gaan.

  10. Selecteer Open Azure Data Factory Studio om de Gebruikersinterface van Data Factory op een afzonderlijk tabblad te starten.

Een Azure IR maken in data factory managed Virtual Network

In deze stap maakt u een Azure IR en schakelt u Data Factory Managed Virtual Network in.

  1. Ga in de Data Factory-portal naar Beheren en selecteer Nieuw om een nieuwe Azure IR te maken.

    Schermopname van het maken van een nieuwe Azure IR.

  2. Kies op de pagina Integratieruntime instellen welke Integratieruntime u wilt maken op basis van de vereiste mogelijkheden. In deze zelfstudie selecteert u Azure, Zelf-hostend en klikt u vervolgens op Doorgaan.

  3. Selecteer Azure en klik vervolgens op Doorgaan om een Azure Integration Runtime te maken.

    Schermopname van een nieuwe Azure IR.

  4. Selecteer onder Configuratie van virtueel netwerk (preview) de optie Inschakelen.

    Schermopname van het inschakelen van een nieuwe Azure IR.

  5. Selecteer Maken.

Een pijplijn met een gegevensstroomactiviteit maken

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

  1. Selecteer op de startpagina van Azure Data Factory de optie Indelen.

    Schermopname van de startpagina van data factory met de knop Indelen gemarkeerd.

  2. Voer in het eigenschappenvenster voor de pijplijn TransformMovies in als naam van de pijplijn.

  3. Vouw verplaatsen en transformeren uit in het deelvenster Activiteiten. Sleep de activiteit Gegevensstroom van het deelvenster naar het pijplijncanvas.

  4. Selecteer in het pop-upvenster Gegevensstroom toevoegen de optie Nieuwe gegevensstroom maken en selecteer vervolgens Toewijzing Gegevensstroom. Selecteer OK wanneer u klaar bent.

    Schermopname van toewijzings Gegevensstroom.

  5. Geef uw gegevensstroom de naam TransformMovies in het deelvenster Eigenschappen.

  6. Schuif in de bovenste balk van het pijplijncanvas de schuifregelaar Gegevensstroom foutopsporing in. In de foutopsporingsmodus kunnen transformatielogica interactief worden getest op basis van een live Spark-cluster. Gegevensstroom clusters hebben 5-7 minuten nodig om op te warmen en gebruikers wordt aangeraden eerst foutopsporing in te schakelen als ze van plan zijn Gegevensstroom ontwikkeling uit te voeren. Zie Foutopsporingsmodus voor meer informatie.

    Schermopname van de schuifregelaar Foutopsporing gegevensstroom.

Transformatielogica bouwen in het gegevensstroomcanvas

Nadat u de gegevensstroom hebt gemaakt, wordt u automatisch naar het gegevensstroomcanvas verzonden. In deze stap bouwt u een gegevensstroom die het moviesDB.csv-bestand in Data Lake Storage gebruikt en de gemiddelde beoordeling van komedies van 1910 tot 2000 aggregert. Vervolgens schrijft u dit bestand terug naar Data Lake Storage.

De brontransformatie toevoegen

In deze stap stelt u Data Lake Storage Gen2 in als bron.

  1. Voeg in het gegevensstroomcanvas een bron toe door het vak Bron toevoegen te selecteren.

  2. Geef de bron de naam MoviesDB. Selecteer Nieuw om een nieuwe brongegevensset te maken.

  3. Selecteer Azure Data Lake Storage Gen2 en selecteer vervolgens Doorgaan.

  4. Selecteer DelimitedText en selecteer vervolgens Doorgaan.

  5. Geef uw gegevensset de naam MoviesDB. Selecteer nieuw in de vervolgkeuzelijst gekoppelde service.

  6. Geef in het scherm voor het maken van de gekoppelde service de naam van uw Data Lake Storage Gen2 gekoppelde service ADLSGen2 en geef uw verificatiemethode op. Voer vervolgens uw verbindingsreferenties in. In deze zelfstudie gebruiken we Accountsleutel om verbinding te maken met ons opslagaccount.

  7. Zorg ervoor dat u Interactieve creatie inschakelt. Het kan een minuut duren voordat deze is ingeschakeld.

    Schermopname waarin interactieve creatie wordt weergegeven.

  8. Selecteer Verbinding testen. Dit zou moeten mislukken omdat het opslagaccount geen toegang tot het account inschakelt zonder het maken en goedkeuren van een privé-eindpunt. In het foutbericht wordt een koppeling weergegeven om een privé-eindpunt te maken dat u kunt volgen om een beheerd privé-eindpunt te maken. Een alternatief is om rechtstreeks naar het tabblad Beheren te gaan en de instructies in deze sectie te volgen om een beheerd privé-eindpunt te maken.

  9. Houd het dialoogvenster geopend en ga vervolgens naar uw opslagaccount.

  10. Volg de instructies in deze sectie om de persoonlijke koppeling goed te keuren.

  11. Ga terug naar het dialoogvenster. Selecteer Test de verbinding opnieuw en selecteer vervolgens Maken om de gekoppelde service te implementeren.

  12. Voer in het scherm voor het maken van de gegevensset in waar het bestand zich bevindt onder het veld Bestandspad . In deze zelfstudie bevindt het bestand moviesDB.csv zich in de container sample-data. Omdat het bestand kopteksten bevat, schakelt u het selectievakje Eerste rij als koptekst in . Selecteer Van verbinding/opslag om het headerschema rechtstreeks vanuit het bestand in de opslag te importeren. Selecteer OK wanneer u klaar bent.

    Schermopname van het bronpad.

  13. Als uw foutopsporingscluster is gestart, gaat u naar het tabblad Gegevensvoorbeeld van de brontransformatie en selecteert u Vernieuwen om een momentopname van de gegevens op te halen. U kunt het gegevensvoorbeeld gebruiken om te controleren of uw transformatie correct is geconfigureerd.

    Schermopname van het tabblad Gegevensvoorbeeld.

Een beheerd privé-eindpunt maken

Als u de hyperlink niet hebt gebruikt bij het testen van de voorgaande verbinding, volgt u het pad. Nu moet u een beheerd privé-eindpunt maken dat u verbindt met de gekoppelde service die u hebt gemaakt.

  1. Ga naar het tabblad Beheren.

    Notitie

    Het tabblad Beheren is mogelijk niet beschikbaar voor alle exemplaren van Data Factory. Als u het niet ziet, kunt u toegang krijgen tot privé-eindpunten door Auteur>Verbindingen>Privé-eindpunt te selecteren.

  2. Ga naar het gedeelte Beheerde privé-eindpunten.

  3. Selecteer + Nieuwe onder Beheerde privé-eindpunten.

    Schermafbeelding met de knoppen Beheerde privé-eindpunten en Nieuw.

  4. Selecteer de tegel Azure Data Lake Storage Gen2 in de lijst en selecteer Doorgaan.

  5. Voer de naam in van het opslagaccount dat u hebt gemaakt.

  6. Selecteer Maken.

  7. Na enkele seconden wordt voor de privékoppeling een goedkeuring vereist.

  8. Selecteer het privé-eindpunt dat u hebt gemaakt. U ziet een hyperlink waarmee u het privé-eindpunt kunt goedkeuren op het niveau van het opslagaccount.

    Schermopname van het deelvenster Privé-eindpunt beheren.

  1. Ga in het opslagaccount naar Privé-eindpuntverbindingen in het gedeelte Instellingen.

  2. Schakel het selectievakje in van het privé-eindpunt dat u hebt gemaakt en selecteer Goedkeuren.

    Schermopname van de knop Goedkeuren van het privé-eindpunt.

  3. Voeg een beschrijving toe en selecteer ja.

  4. Ga terug naar het gedeelte Beheerde privé-eindpunten van het tabblad Beheren in Data Factory.

  5. Na ongeveer een minuut wordt de goedkeuring weergegeven voor uw privé-eindpunt.

De filtertransformatie toevoegen

  1. Selecteer naast het bronknooppunt op het gegevensstroomcanvas het pluspictogram om een nieuwe transformatie toe te voegen. De eerste transformatie die u toevoegt, is een filter.

    Schermopname van het toevoegen van een filter.

  2. Geef de filtertransformatie de naam FilterYears. Selecteer het expressievak naast Filteren op om de opbouwfunctie voor expressies te openen. Hier geeft u de filtervoorwaarde op.

    Schermopname van FilterYears.

  3. Met de opbouwfunctie voor gegevensstroomexpressies kunt u interactief expressies bouwen voor gebruik in verschillende transformaties. Expressies kunnen ingebouwde functies, kolommen uit het invoerschema en door de gebruiker gedefinieerde parameters bevatten. Zie Opbouwfunctie voor gegevensstroomexpressies voor meer informatie over het bouwen van expressies.

    • In deze zelfstudie wilt u films filteren in het komediegenre dat uitkwam tussen 1910 en 2000. Omdat het jaar momenteel een tekenreeks is, moet u het converteren naar een geheel getal met behulp van de toInteger() functie. Gebruik de operatoren groter dan of gelijk aan (>=) en kleiner dan of gelijk aan (<=) om de letterlijke jaarwaarden 1910 en 2000 te vergelijken. Deze expressies samenvoegen met de operator en (&&). De expressie wordt weergegeven als:

      toInteger(year) >= 1910 && toInteger(year) <= 2000

    • Als u wilt zoeken welke films komedies zijn, kunt u de rlike() functie gebruiken om het patroon 'Komedie' te vinden in de kolomgenres. rlike De expressie samenvoegen met de jaarvergelijking om het volgende op te halen:

      toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')

    • Als er een foutopsporingscluster actief is, kunt u uw logica controleren door Vernieuwen te selecteren om de expressie-uitvoer te bekijken in vergelijking met de gebruikte invoer. Er is meer dan één juist antwoord op hoe u deze logica kunt bereiken met behulp van de expressietaal voor gegevensstromen.

      Schermopname van de filterexpressie.

    • Selecteer Opslaan en voltooien nadat u klaar bent met uw expressie.

  4. Haal een gegevensvoorbeeld op om te controleren of het filter correct werkt.

    Schermopname van het gefilterde gegevensvoorbeeld.

De aggregatietransformatie toevoegen

  1. De volgende transformatie die u toevoegt, is een aggregatietransformatie onder Schema-wijzigingsifier.

    Schermopname van het toevoegen van de aggregatie.

  2. Geef de aggregatietransformatie de naam AggregateComedyRating. Selecteer op het tabblad Groeperen op jaar in de vervolgkeuzelijst om de aggregaties te groeperen op het jaar dat de film uitkwam.

    Schermopname van de aggregatiegroep.

  3. Ga naar het tabblad Aggregaties . Geef in het linkertekstvak de aggregatiekolom de naam AverageComedyRating. Selecteer het juiste expressievak om de aggregatie-expressie in te voeren via de opbouwfunctie voor expressies.

    Schermopname van de naam van de samengevoegde kolom.

  4. Gebruik avg() de statistische functie om het gemiddelde van kolomClassificatie op te halen. Omdat Classificatie een tekenreeks is en avg() een numerieke invoer opneemt, moeten we de waarde converteren naar een getal via de toInteger() functie. Deze expressie ziet er als volgt uit:

    avg(toInteger(Rating))

  5. Selecteer Opslaan en voltooien nadat u klaar bent.

    Schermopname van het opslaan van de aggregatie.

  6. Ga naar het tabblad Gegevensvoorbeeld om de transformatie-uitvoer weer te geven. U ziet dat er slechts twee kolommen zijn: year en AverageComedyRating.

De sinktransformatie toevoegen

  1. Vervolgens wilt u een Sink-transformatie toevoegen onder Doel.

    Schermopname van het toevoegen van een sink.

  2. Noem uw sink Sink. Selecteer Nieuw om uw sinkgegevensset te maken.

    Schermopname van het maken van een sink.

  3. Selecteer op de pagina Nieuwe gegevenssetAzure Data Lake Storage Gen2 en selecteer vervolgens Doorgaan.

  4. Selecteer op de pagina Indeling selecterenDelimitedText en selecteer vervolgens Doorgaan.

  5. Geef de sinkgegevensset de naam MoviesSink. Kies voor gekoppelde service dezelfde gekoppelde ADLSGen2-service die u hebt gemaakt voor brontransformatie. Voer een uitvoermap in waarnaar u uw gegevens wilt schrijven. In deze zelfstudie schrijven we naar de mapuitvoer in de container sample-data. De map hoeft niet vooraf te bestaan en kan dynamisch worden gemaakt. Schakel het selectievakje Eerste rij als koptekst in en selecteer Geen bij Schema importeren. Selecteer OK.

    Schermopname van het sinkpad.

U bent nu klaar met het bouwen van uw gegevensstroom. U bent klaar om het uit te voeren in uw pijplijn.

De gegevensstroom uitvoeren en bewaken

U kunt fouten opsporen in een pijplijn voordat u deze publiceert. In deze stap activeert u een foutopsporingsuitvoering van de gegevensstroompijplijn. Hoewel er geen gegevens worden geschreven in de voorbeeldweergave van de gegevens, worden tijdens een foutopsporingsuitvoering gegevens naar uw sinkbestemming geschreven.

  1. Ga naar het pijplijncanvas. Selecteer Fouten opsporen om een foutopsporingsuitvoering te activeren.

  2. Pijplijnfoutopsporing van gegevensstroomactiviteiten maakt gebruik van het actieve foutopsporingscluster, maar het duurt nog steeds minstens een minuut om te initialiseren. U kunt de voortgang bijhouden via het tabblad Uitvoer . Nadat de uitvoering is geslaagd, selecteert u het pictogram van de bril voor details van de uitvoering.

  3. Op de detailpagina ziet u het aantal rijen en de tijd die aan elke transformatiestap is besteed.

    Schermopname van een bewakingsuitvoering.

  4. Selecteer een transformatie voor gedetailleerde informatie over de kolommen en partitionering van de gegevens.

Als u deze zelfstudie correct hebt gevolgd, moet u 83 rijen en 2 kolommen in uw sinkmap hebben geschreven. U kunt controleren of de gegevens juist zijn door uw blobopslag te controleren.

Samenvatting

In deze zelfstudie hebt u de gebruikersinterface van Data Factory gebruikt om een pijplijn te maken waarmee gegevens van een Data Lake Storage Gen2 bron worden gekopieerd en getransformeerd naar een Data Lake Storage Gen2 sink (beide bieden toegang tot alleen geselecteerde netwerken) met behulp van de toewijzingsgegevensstroom in door Data Factory beheerde Virtual Network.