Quickstart: Gegevens transformeren met behulp van toewijzingsgegevensstromen
In deze quickstart gebruikt u Azure Synapse Analytics om een pijplijn te maken waarmee gegevens van een Azure Data Lake Storage Gen2 -bron (ADLS Gen2) worden getransformeerd naar een ADLS Gen2-sink met behulp van een toewijzingsgegevensstroom. Het configuratiepatroon in deze quickstart kan worden uitgebreid bij het transformeren van gegevens met behulp van een toewijzingsgegevensstroom
In deze quickstart voert u de volgende stappen uit:
- Maak een pijplijn met een Gegevensstroom-activiteit in Azure Synapse Analytics.
- Bouw een toewijzingsgegevensstroom met vier transformaties.
- De uitvoering van de pijplijn testen.
- Een Gegevensstroom-activiteit bewaken
Vereisten
Azure-abonnement: als u geen Azure-abonnement hebt, maakt u een gratis Azure-account voordat u begint.
Azure Synapse werkruimte: Maak een Synapse-werkruimte met behulp van de Azure Portal volg de instructies in Quickstart: Een Synapse-werkruimte maken.
Azure-opslagaccount: u gebruikt ADLS-opslag als bron - en sinkgegevensopslag . Als u geen opslagaccount hebt, raadpleegt u het artikel Een opslagaccount maken om een account te maken.
Het bestand dat we in deze zelfstudie transformeren, is MoviesDB.csv, die u hier kunt vinden. 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'.
Ga naar Synapse Studio
Wanneer uw Azure Synapse-werkruimte is gemaakt, kunt u Synapse Studio op twee manieren openen:
- Open de Synapse-werkruimte in de Azure-portal. Selecteer Openen op de kaart Synapse Studio openen onder Aan de slag.
- Open Azure Synapse Analytics en meld u aan bij uw werkruimte.
In deze quickstart wordt de werkruimte met de naam 'adftest2020' als voorbeeld gebruikt. Er wordt automatisch naar de startpagina van Synapse Studio genavigeerd.
Een pijplijn met een Gegevensstroom-activiteit maken
Een pijplijn bevat de logische stroom voor het uitvoeren van een reeks activiteiten. In deze sectie maakt u een pijplijn die een Gegevensstroom-activiteit bevat.
Ga naar het tabblad Integreren. Klik op het pluspictogram naast de kop Pijplijnen en selecteer Pijplijn.
Voer op de pagina Eigenschappeninstellingen van de pijplijn TransformMovies in bij Naam.
Sleep gegevensstroom onder Verplaatsen en transformeren in het deelvenster Activiteiten naar het pijplijncanvas.
Selecteer in het pop-upvenster Gegevensstroom toevoegende optie Nieuwe gegevensstroom maken ->Gegevensstroom. Klik op OK wanneer u klaar bent.
Geef uw gegevensstroom de naam TransformMovies op de pagina Eigenschappen .
Transformatielogica bouwen in het gegevensstroomcanvas
Nadat u uw Gegevensstroom hebt gemaakt, wordt u automatisch naar het gegevensstroomcanvas verzonden. In deze stap bouwt u een gegevensstroom die de MoviesDB.csv in ADLS-opslag neemt en de gemiddelde classificatie van komedies van 1910 tot 2000 samenvoegt. Vervolgens schrijft u dit bestand terug naar de ADLS-opslag.
Schuif boven het gegevensstroomcanvas de schuifregelaar Gegevensstroomfoutopsporing 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.
Voeg in het gegevensstroomcanvas een bron toe door op het vak Bron toevoegen te klikken.
Geef de bron de naam MoviesDB. Klik op Nieuw om een nieuwe brongegevensset te maken.
Kies Azure Data Lake Storage Gen2. Klik op Doorgaan.
Kies Tekst met scheidingstekens. Klik op Doorgaan.
Geef uw gegevensset de naam MoviesDB. Kies In de vervolgkeuzelijst gekoppelde service de optie Nieuw.
Geef in het scherm voor het maken van de gekoppelde service de naam ADLS Gen2 gekoppelde service ADLSGen2 en geef uw verificatiemethode op. Voer vervolgens uw verbindingsreferenties in. In deze quickstart gebruiken we accountsleutel om verbinding te maken met ons opslagaccount. U kunt op Verbinding testen klikken om te controleren of uw referenties correct zijn ingevoerd. Klik op Maken als u klaar bent.
Zodra u weer bij het scherm voor het maken van de gegevensset bent, voert u onder het veld Bestandspad in waar het bestand zich bevindt. In deze quickstart bevindt het bestand 'MoviesDB.csv' zich in de container 'sample-data'. Als het bestand kopteksten bevat, schakelt u Eerste rij als koptekst in. Selecteer Van verbinding/opslag om het headerschema rechtstreeks vanuit het bestand in de opslag te importeren. Klik op OK wanneer u klaar bent.
Als uw foutopsporingscluster is gestart, gaat u naar het tabblad Gegevensvoorbeeld van de brontransformatie en klikt u op Vernieuwen om een momentopname van de gegevens op te halen. U kunt gegevensvoorbeeld gebruiken om te controleren of uw transformatie juist is geconfigureerd.
Klik naast het bronknooppunt op het gegevensstroomcanvas op het pluspictogram om een nieuwe transformatie toe te voegen. De eerste transformatie die u toevoegt, is een filter.
Geef de filtertransformatie de naam FilterYears. Klik op het expressievak naast Filteren op om de opbouwfunctie voor expressies te openen. Hier geeft u de filtervoorwaarde op.
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 Gegevensstroom opbouwfunctie voor expressies voor meer informatie over het bouwen van expressies.
In deze quickstart wilt u films filteren van genrekomedie die tussen de jaren 1910 en 2000 zijn verscheen. Aangezien jaar momenteel een tekenreeks is, moet u deze 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 200-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 functie gebruiken om het
rlike()
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 op Vernieuwen te klikken 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 uitvoeren met behulp van de expressietaal van de gegevensstroom.
Klik op Opslaan en voltooien wanneer u klaar bent met de expressie.
Haal een gegevensvoorbeeld op om te controleren of het filter correct werkt.
De volgende transformatie die u toevoegt, is een aggregatietransformatie onder Schema-wijzigingsfunctie.
Geef de aggregatietransformatie de naam AggregateComedyRatings. Selecteer op het tabblad Groeperen op jaar in de vervolgkeuzelijst om de aggregaties te groeperen op het jaar waarin de film uitkwam.
Ga naar het tabblad Aggregaties . Geef in het linkertekstvak de naam van de samengevoegde kolom AverageComedyRating. Klik op het rechter expressievak om de aggregatie-expressie in te voeren via de opbouwfunctie voor expressies.
Gebruik
avg()
de statistische functie om het gemiddelde van kolomClassificatie op te halen. Aangezien Classificatie een tekenreeks is enavg()
een numerieke invoer opneemt, moeten we de waarde converteren naar een getal via detoInteger()
functie. Deze expressie ziet er als volgt uit:avg(toInteger(Rating))
Klik op Opslaan en voltooien wanneer u klaar bent.
Ga naar het tabblad Gegevensvoorbeeld om de transformatie-uitvoer weer te geven. U ziet dat er slechts twee kolommen zijn: year en AverageComedyRating.
Vervolgens wilt u een Sink-transformatie toevoegen onder Doel.
Geef uw sink de naam Sink. Klik op Nieuw om de sinkgegevensset te maken.
Kies Azure Data Lake Storage Gen2. Klik op Doorgaan.
Kies DelimitedText. Klik op Doorgaan.
Geef de sinkgegevensset de naam MoviesSink. Kies voor gekoppelde service de gekoppelde ADLS Gen2-service die u in stap 7 hebt gemaakt. Voer een uitvoermap in waarnaar u uw gegevens wilt schrijven. In deze quickstart schrijven we naar map 'output' in container 'sample-data'. De map hoeft niet vooraf te bestaan en kan dynamisch worden gemaakt. Stel Eerste rij als koptekst in op true en selecteer Geen bij Schema importeren. Klik op OK wanneer u klaar bent.
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 gegevensvoorbeelden geen gegevens schrijven, schrijft een foutopsporingsuitvoering gegevens naar uw sink-bestemming.
Ga naar het pijplijncanvas. Klik op Fouten opsporen om een foutopsporingsuitvoering te activeren.
Pijplijnfoutopsporing van Gegevensstroom-activiteiten maakt gebruik van het actieve foutopsporingscluster, maar het duurt nog minstens een minuut om te initialiseren. U kunt de voortgang bijhouden via het tabblad Uitvoer . Zodra de uitvoering is geslaagd, klikt u op het pictogram van de bril om het bewakingsvenster te openen.
In het bewakingsvenster ziet u het aantal rijen en de tijd die in elke transformatiestap is besteed.
Klik op een transformatie voor gedetailleerde informatie over de kolommen en partitionering van de gegevens.
Als u deze quickstart correct hebt gevolgd, moet u 83 rijen en 2 kolommen naar uw sinkmap hebben geschreven. U kunt de gegevens controleren door uw blobopslag te controleren.
Volgende stappen
Ga naar de volgende artikelen voor meer informatie over Azure Synapse Analytics-ondersteuning: