Gegevens transformeren in Delta Lake met behulp van toewijzingsgegevensstromen
VAN TOEPASSING OP: Azure Data Factory Azure Synapse Analytics
Tip
Probeer Data Factory uit in Microsoft Fabric, een alles-in-één analyseoplossing voor ondernemingen. Microsoft Fabric omvat alles, van gegevensverplaatsing tot gegevenswetenschap, realtime analyses, business intelligence en rapportage. Meer informatie over het gratis starten van een nieuwe proefversie .
Zie Inleiding tot Azure Data Factory als u niet bekend bent met 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 nog geen abonnement op Azure hebt, maakt u een gratis Azure-account voordat u begint.
- 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 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 Blobs uploaden met Azure Portal om het bestand te uploaden naar uw opslagaccount. 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.
Open Microsoft Edge of Google Chrome. Momenteel wordt de Data Factory-gebruikersinterface alleen ondersteund in de webbrowsers Microsoft Edge en Google Chrome.
Selecteer een resourceintegratiegegevensfactory>>maken in het linkermenu
Voer op de pagina Nieuwe data factory, onder Naam, ADFTutorialDataFactory in
Selecteer het Azure-abonnement waarin u de data factory wilt maken.
Voer een van de volgende stappen uit voor Resourcegroep:
a. 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 Azure-resources te beheren voor meer informatie.
Selecteer V2 onder Versie.
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.
Selecteer Maken.
Als het maken is voltooid, ziet u de melding in het meldingencentrum. Selecteer Naar resource gaan om naar de pagina Data factory te gaan.
Selecteer de tegel Maken en controleren om de Data Factory-gebruikersinterface te openen op een afzonderlijk tabblad.
Een pijplijn maken met een gegevensstroomactiviteit
In deze stap maakt u een pijplijn die een gegevensstroomactiviteit bevat.
Selecteer Orchestrate op de startpagina.
Voer op het tabblad Algemeen voor de pijplijn DeltaLake in voor de naam van de pijplijn.
Vouw in het deelvenster Activiteiten de accordeon Verplaatsen en Transformeren uit. Sleep de Gegevensstroom activiteit van het deelvenster naar het pijplijncanvas en zet deze neer.
Selecteer in het pop-upvenster Toevoegen Gegevensstroom nieuwe Gegevensstroom maken en geef uw gegevensstroom een naam deltalake. Selecteer Voltooien wanneer u klaar bent.
Schuif in de bovenste balk van het pijplijncanvas de schuifregelaar Gegevensstroom foutopsporing aan. Met de foutopsporingsmodus kunt u interactieve transformatielogica testen op een live Spark-cluster. Gegevensstroom clusters 5-7 minuten duren en gebruikers worden aangeraden eerst foutopsporing in te schakelen als ze van plan zijn Gegevensstroom ontwikkeling uit te voeren. Zie De foutopsporingsmodus voor meer informatie.
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.
Zelfstudiedoelstellingen
- Gebruik de bron van de MoviesCSV-gegevensset uit de vereisten en maak er een nieuw Delta Lake van.
- Bouw de logica om beoordelingen voor 1988 films te bijwerken naar '1'.
- Verwijder alle films uit 1950.
- Voeg nieuwe films voor 2021 in door de films uit 1960 te dupliceren.
Beginnen met een leeg gegevensstroomcanvas
Selecteer de brontransformatie boven aan het venster van de gegevensstroomeditor en selecteer vervolgens + Nieuw naast de eigenschap Gegevensset in het venster Broninstellingen :
Selecteer Azure Data Lake Storage Gen2 in het venster Nieuwe gegevensset dat wordt weergegeven en selecteer vervolgens Doorgaan.
Kies DelimitedText voor het gegevenssettype en selecteer Opnieuw doorgaan .
Geef de gegevensset de naam 'MoviesCSV' en selecteer + Nieuw onder Gekoppelde service om een nieuwe gekoppelde service aan het bestand te maken.
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.
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.
Navigeer naar het tabblad Projectie van het venster met instellingen voor gegevensstromen en selecteer Gegevenstypen detecteren.
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.
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 gekoppelde service.
Kies een mapnaam in uw opslagcontainer waar u wilt dat de service de Delta Lake maakt.
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 gegenereerd in Azure Data Lake Storage Gen2.
Selecteer nu in het menu Factory-resources aan de linkerkant + van het scherm om een nieuwe resource toe te voegen en selecteer vervolgens Gegevensstroom.
Net als voorheen selecteert u het MoviesCSV-bestand opnieuw als bron en selecteert u Vervolgens gegevenstypen opnieuw detecteren op het tabblad Projectie.
Nadat u de bron hebt gemaakt, selecteert u deze keer het + venster van de gegevensstroomeditor en voegt u een filtertransformatie toe aan uw bron.
Voeg een filter toe aan voorwaarde in het venster Filterinstellingen waarmee alleen filmrijen worden toegestaan die overeenkomen met 1950, 1960 en 1988.
Voeg nu een afgeleide kolomtransformatie toe om classificaties voor elke 1988-film bij te werken aan '1'.
Update, insert, delete, and upsert
beleidsregels worden gemaakt in de wijzigingsrijtransformatie. Voeg een wijzigingsrijtransformatie toe na de afgeleide kolom.Uw beleid voor het wijzigen van rijen moet er als volgt uitzien.
Nu u het juiste beleid instelt voor elk type wijzigingsrij, controleert u of de juiste updateregels zijn ingesteld voor de sinktransformatie
Hier gebruiken we de Delta Lake-sink voor uw Azure Data Lake Storage Gen2-data lake en kunnen invoegen, updates en verwijderingen worden toegestaan.
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 conflicten bij het opzoeken van de bestaande rijen door uniekheid te bieden.
Voltooid voorbeeld downloaden
Hier volgt een voorbeeldoplossing voor de Delta-pijplijn met een gegevensstroom voor het bijwerken/verwijderen van rijen in het lake.
Gerelateerde inhoud
Meer informatie over de expressietaal voor gegevensstromen.