Transformace dat s využitím mapování toků dat

PLATÍ PRO: analýza Azure Data Factory Azure Synapse

Pokud se službou Azure Data Factory začínáte, přečtěte si téma Seznámení se službou Azure Data Factory.

V tomto kurzu použijete uživatelské rozhraní Azure Data Factory k vytvoření kanálu, který kopíruje a transformuje data ze zdroje Azure Data Lake Storage (ADLS) Gen2 na jímku ADLS Gen2 pomocí mapování toku dat. Model konfigurace v tomto kurzu je možné rozšířit při transformaci dat pomocí mapování toku dat.

Poznámka

Tento kurz je určený pro obecné mapování toků dat. Toky dat jsou dostupné jak v Azure Data Factory, tak v Pipelines Synapse. Pokud s toky dat v Azure Synapse Pipelines začínáte, postupujte podle Tok dat pomocí Azure Synapse Pipelines

V tomto kurzu provedete následující kroky:

  • Vytvoření datové továrny
  • Vytvořte kanál s aktivitou Tok dat.
  • Vytvořte mapování toku dat se čtyřmi transformacemi.
  • Testovací spuštění kanálu
  • Monitorování aktivity Tok dat

Požadavky

  • Předplatné Azure. Pokud ještě nemáte předplatné Azure, vytvořte si bezplatný účet Azure před tím, než začnete.
  • Účet úložiště Azure. Úložiště ADLS používáte jako zdrojové úložiště dat a úložiště dat jímky . Pokud účet úložiště nemáte, přečtěte si téma Vytvoření účtu služby Azure Storage, kde najdete postup jeho vytvoření.

Soubor, který transformujeme v tomto kurzu, je MoviesDB.csv, který najdete tady. Pokud chcete načíst soubor z GitHub, zkopírujte obsah do textového editoru podle vašeho výběru a uložte ho místně jako soubor .csv. Pokud chcete nahrát soubor do účtu úložiště, podívejte se na Upload objekty blob s Azure Portal. Příklady budou odkazovat na kontejner s názvem sample-data.

Vytvoření datové továrny

V tomto kroku vytvoříte datovou továrnu a otevřete UX služby Data Factory, abyste vytvořili kanál v datové továrně.

  1. Otevřete Microsoft Edge nebo Google Chrome. V současné době se uživatelské rozhraní služby Data Factory podporuje pouze ve webových prohlížečích Microsoft Edge a Google Chrome.

  2. V nabídce vlevo vyberte VytvořitresourceIntegrationData>>Factory:

    Data Factory selection in the "New" pane

  3. Do pole Název na stránce Nová datová továrna zadejte ADFTutorialDataFactory.

    Název objektu pro vytváření dat Azure musí být globálně jedinečný. Pokud se zobrazí chybová zpráva týkající se hodnoty názvu, zadejte jiný název datové továrny. (například názevADFTutorialDataFactory). Pravidla pro pojmenovávání artefaktů služby Data Factory najdete v tématu Data Factory – pravidla pojmenování.

    New data factory error message for duplicate name.

  4. Vyberte předplatné Azure, v rámci kterého chcete datovou továrnu vytvořit.

  5. U položky Skupina prostředků proveďte jeden z následujících kroků:

    a. Vyberte Použít existující a z rozevíracího seznamu vyberte existující skupinu prostředků.

    b. Vyberte Vytvořit nový a zadejte název skupiny prostředků.

    Informace o skupinách prostředků najdete v tématu Použití skupin prostředků ke správě prostředků Azure.

  6. Jako Verzi vyberte V2.

  7. V části Umístění vyberte umístění datové továrny. V rozevíracím seznamu se zobrazí pouze podporovaná umístění. Úložiště dat (například Azure Storage a SQL Database) a výpočty (například Azure HDInsight) používané datovou továrnou můžou být v jiných oblastech.

  8. Vyberte Vytvořit.

  9. Po dokončení vytváření se v Centru oznámení zobrazí oznámení. Výběrem možnosti Přejít k prostředku přejděte na stránku Objekt pro vytváření dat.

  10. Výběrem možnosti Monitorování autora & spusťte uživatelské rozhraní služby Data Factory na samostatné kartě.

Vytvoření kanálu s aktivitou Tok dat

V tomto kroku vytvoříte kanál, který obsahuje Tok dat aktivitu.

  1. Na domovské stránce Azure Data Factory vyberte Orchestrate.

    Screenshot that shows the ADF home page.

  2. Na kartě Obecné pro kanál zadejte TransformMovies pro název kanálu.

  3. V podokně Aktivity rozbalte accordion Přesunout a transformovat . Přetáhněte Tok dat aktivitu z podokna na plátno kanálu.

    Screenshot that shows the pipeline canvas where you can drop the Data Flow activity.

  4. V místní nabídce Přidat Tok dat vyberte Vytvořit nový Tok dat a pak pojmenujte transformMovies toku dat. Po dokončení klikněte na Dokončit.

    Screenshot that shows where you name your data flow when you create a new data flow.

  5. Na horním panelu plátna kanálu posuňte posuvník Tok dat ladění zapnutý. Režim ladění umožňuje interaktivní testování logiky transformace v živém clusteru Spark. Tok dat clustery trvá 5 až 7 minut, než se zahřejí a uživatelé se doporučuje nejdřív zapnout ladění, pokud mají v plánu Tok dat vývoj. Další informace najdete v tématu Režim ladění.

    Data Flow Activity

Vytvoření logiky transformace na plátně toku dat

Po vytvoření Tok dat se automaticky odešlete na plátno toku dat. V tomto kroku vytvoříte tok dat, který vezme moviesDB.csv v úložišti ADLS a agreguje průměrné hodnocení comedies z roku 1910 do roku 2000. Potom tento soubor zapíšete zpátky do úložiště ADLS.

  1. Na plátně toku dat přidejte zdroj kliknutím na pole Přidat zdroj .

    Screenshot that shows the Add Source box.

  2. Pojmenujte zdroj MoviesDB. Kliknutím na Nový vytvoříte novou zdrojovou datovou sadu.

    Screenshot that shows where you select New after you name your source.

  3. Zvolte Azure Data Lake Storage Gen2. Klikněte na Pokračovat.

    Screenshot that shows where is the Azure Data Lake Storage Gen2 tile.

  4. Zvolte Text s oddělovači. Klikněte na Pokračovat.

    Screenshot that shows the DelimitedText tile.

  5. Pojmenujte svou datovou sadu MoviesDB. V rozevíracím seznamu propojené služby zvolte Nový.

    Screenshot that shows the Linked service dropdown list.

  6. Na obrazovce pro vytvoření propojené služby pojmenujte propojenou službu ADLS gen2 ADLSGen2 a zadejte metodu ověřování. Pak zadejte přihlašovací údaje pro připojení. V tomto kurzu používáme klíč účtu pro připojení k našemu účtu úložiště. Kliknutím na test připojení můžete ověřit, jestli byly vaše přihlašovací údaje zadány správně. Po dokončení klikněte na Vytvořit.

    Linked Service

  7. Jakmile se vrátíte na obrazovku pro vytvoření datové sady, zadejte místo, kam se soubor nachází v poli Cesta k souboru . V tomto kurzu se soubor moviesDB.csv nachází v ukázkových datech kontejneru. Vzhledem k tomu, že soubor obsahuje záhlaví, zaškrtněte první řádek jako záhlaví. Výběrem možnosti Z připojení nebo úložiště naimportujte schéma hlaviček přímo ze souboru v úložišti. Po dokončení klikněte na TLAČÍTKO OK.

    Datasets

  8. Pokud se váš ladicí cluster spustil, přejděte na kartu Náhled dat ve zdrojové transformaci a kliknutím na Aktualizovat získáte snímek dat. Pomocí náhledu dat můžete ověřit, jestli je transformace správně nakonfigurovaná.

    Screenshot that shows where you can preview your data to verify your transformation is configured correctly.

  9. Vedle zdrojového uzlu na plátně toku dat klikněte na ikonu plus a přidejte novou transformaci. První přidanou transformací je filtr.

    Data Flow Canvas

  10. Pojmenujte transformační filtry FilterYears. Kliknutím na pole výraz vedle filtru otevřete tvůrce výrazů. Tady zadáte podmínku filtrování.

    Screenshot that shows the Filter on expression box.

  11. Tvůrce výrazů toku dat umožňuje interaktivně vytvářet výrazy pro použití v různých transformacích. Výrazy můžou zahrnovat předdefinované funkce, sloupce ze vstupního schématu a uživatelem definované parametry. Další informace o vytváření výrazů najdete v tématu Tok dat tvůrce výrazů.

    V tomto kurzu chcete filtrovat filmy žánrových komedií, které vyšly mezi roky 1910 a 2000. Vzhledem k tomu, že rok je aktuálně řetězec, musíte ho toInteger() převést na celé číslo pomocí funkce. K porovnání hodnot literálového roku 1910 a 2000 použijte operátory větší než nebo rovno (><=). Sjednocujte tyto výrazy společně s operátorem a operátorem (&&). Výraz se objeví takto:

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

    Pokud chcete zjistit, které filmy jsou komedie, můžete pomocí rlike() funkce najít vzor "Comedy" ve sloupcových žánrech. Sjednocujte rlike výraz s porovnáním roku, abyste získali:

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

    Pokud máte aktivní cluster ladění, můžete svou logiku ověřit kliknutím na Tlačítko Aktualizovat a zobrazit výstup výrazu ve srovnání s použitými vstupy. Existuje více než jedna správná odpověď na to, jak tuto logiku dosáhnout pomocí jazyka výrazu toku dat.

    Filter

    Po dokončení výrazu klikněte na Uložit a dokončit .

  12. Načtením náhledu dat ověřte, že filtr funguje správně.

    Screenshot that shows the Data Preview that you fetched.

  13. Další přidanou transformací je agregační transformace v části Modifikátor schématu.

    Screenshot that shows the Aggregate schema modifier.

  14. Pojmenujte agregační transformaci AggregateComedyRatings. Na kartě Seskupit podle karty vyberte rok z rozevíracího seznamu a seskupte agregace podle roku, kdy film přišel.

    Screenshot that shows the year option in the Group by tab under Aggregate Settings.

  15. Přejděte na kartu Agregace . V levém textovém poli pojmenujte agregovaný sloupec AverageComedyRating. Kliknutím na pravé pole výrazu zadejte agregační výraz prostřednictvím tvůrce výrazů.

    Screenshot that shows the year option in the Aggregates tab under Aggregate Settings.

  16. Pokud chcete získat průměr sloupce Hodnocení, použijte avg() agregační funkci. Protože rating je řetězec a avg() přebírá číselný vstup, musíme hodnotu převést na číslo prostřednictvím toInteger() funkce. Výraz vypadá takto:

    avg(toInteger(Rating))

    Po dokončení klikněte na Uložit a dokončit .

    Screenshot that shows the saved expression.

  17. Přejděte na kartu Náhled dat a zobrazte výstup transformace. Všimněte si, že tam jsou jenom dva sloupce, rok a AverageComedyRating.

    Aggregate

  18. Dále chcete přidat transformaci jímky v části Cíl.

    Screenshot that shows where to add a sink transformation under Destination.

  19. Pojmenujte jímku. Kliknutím na Tlačítko Nový vytvoříte datovou sadu jímky.

    Screenshot that shows where you can name your sink and create a new sink dataset.

  20. Zvolte Azure Data Lake Storage Gen2. Klikněte na Pokračovat.

    Screenshot that shows the Azure Data Lake Storage Gen2 tile you can choose.

  21. Zvolte Text s oddělovači. Klikněte na Pokračovat.

    Dataset

  22. Pojmenujte datovou sadu jímky MoviesSink. Pro propojenou službu zvolte propojenou službu ADLS gen2, kterou jste vytvořili v kroku 6. Zadejte výstupní složku pro zápis dat do. V tomto kurzu píšeme do složky Output v kontejneru sample-data. Složka nemusí existovat předem a je možné ji dynamicky vytvořit. Nastavte první řádek jako záhlaví jako true a jako schéma importu vyberte Žádné. Klikněte na Dokončit.

    Sink

Teď jste dokončili vytváření toku dat. Jste připraveni ho spustit v kanálu.

Spuštění a monitorování Tok dat

Kanál můžete ladit, než ho publikujete. V tomto kroku spustíte ladicí spuštění kanálu toku dat. I když náhled dat nezapisuje data, spuštění ladění zapíše data do cíle jímky.

  1. Přejděte na plátno kanálu. Kliknutím na Tlačítko Ladit aktivujete spuštění ladění.

    Screenshot that shows the pipeline canvas with Debug highlighted.

  2. Ladění kanálu aktivit Tok dat používá aktivní ladicí cluster, ale inicializace stále trvá aspoň minutu. Průběh můžete sledovat pomocí karty Výstup . Po úspěšném spuštění kliknutím na ikonu brýle otevřete podokno monitorování.

    Pipeline

  3. V podokně monitorování můžete zobrazit počet řádků a času strávených v jednotlivých krocích transformace.

    Screenshot that shows the monitoring pane where you can see the number of rows and time spent in each transformation step.

  4. Kliknutím na transformaci získáte podrobné informace o sloupcích a dělení dat.

    Monitoring

Pokud jste postupovali podle tohoto kurzu správně, měli byste do složky jímky zapsat 83 řádků a 2 sloupce. Data můžete ověřit tak, že zkontrolujete úložiště objektů blob.

Další kroky

Kanál v tomto kurzu spouští tok dat, který agreguje průměrné hodnocení comedies z roku 1910 do roku 2000 a zapisuje data do ADLS. Naučili jste se:

  • Vytvoření datové továrny
  • Vytvořte kanál s aktivitou Tok dat.
  • Vytvořte mapování toku dat se čtyřmi transformacemi.
  • Testovací spuštění kanálu
  • Monitorování aktivity Tok dat

Přečtěte si další informace o jazyce výrazů toku dat.