Trasformare i dati con i flussi di dati per mapping

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Se non si ha familiarità con Azure Data Factory, vedere Introduzione ad Azure Data Factory.

In questa esercitazione si userà l'interfaccia utente di Azure Data Factory per creare una pipeline che copia e trasforma i dati da un'origine Azure Data Lake Archiviazione (ADLS) Gen2 a un sink ADLS Gen2 usando il flusso di dati di mapping. Il modello di configurazione in questa esercitazione può essere espanso quando si trasformano i dati usando il flusso di dati di mapping

Nota

Questa esercitazione è destinata ai flussi di dati di mapping in generale. I flussi di dati sono disponibili sia in Azure Data Factory che nelle pipeline di Synapse. Se non si ha una novità dei flussi di dati in Azure Synapse Pipelines, seguire Flusso di dati usando Azure Synapse Pipelines

In questa esercitazione vengono completati i passaggi seguenti:

  • Creare una data factory.
  • Creare una pipeline con un'attività di Flusso di dati.
  • Creare un flusso di dati di mapping con quattro trasformazioni.
  • Eseguire test della pipeline.
  • Monitorare un'attività di Flusso di dati

Prerequisiti

Il file che stiamo trasformando in questa esercitazione è MoviesDB.csv, disponibile qui. Per recuperare il file da GitHub, copiare il contenuto in un editor di testo di propria scelta per salvare localmente come file CSV. Per caricare il file nell'account di archiviazione, vedere Caricare BLOB con il portale di Azure. Gli esempi faranno riferimento a un contenitore denominato "sample-data".

Creare una data factory

In questo passaggio si crea una data factory e si apre l'esperienza utente di Data Factory per creare una pipeline nella data factory.

  1. Aprire Microsoft Edge o Google Chrome. Attualmente, l'interfaccia utente di Data Factory è supportata solo nei Web browser Microsoft Edge e Google Chrome.

  2. Nel menu sinistro selezionare Crea una risorsa>Integrazione>Data factory:

    Data Factory selection in the "New" pane

  3. Nella pagina Nuova data factory immettere ADFTutorialDataFactory in Nome.

    Il nome della data factory di Azure deve essere univoco a livello globale. Se viene visualizzato un messaggio di errore relativo al valore del nome, immettere un nome diverso per la data factory. Ad esempio, nomeutenteADFTutorialDataFactory. Per informazioni sulle regole di denominazione per gli elementi di Data factory, vedere Azure Data factory - Regole di denominazione.

    New data factory error message for duplicate name.

  4. Selezionare la sottoscrizione di Azure in cui creare la data factory.

  5. In Gruppo di risorse eseguire una di queste operazioni:

    a. Selezionare Usa esistentee scegliere un gruppo di risorse esistente dall'elenco a discesa.

    b. Selezionare Crea nuovoe immettere un nome per il gruppo di risorse.

    Per informazioni sui gruppi di risorse, vedere l'articolo su come usare gruppi di risorse per gestire le risorse di Azure.

  6. In Versione selezionare V2.

  7. In Località selezionare una località per la data factory. Nell'elenco a discesa vengono mostrate solo le località supportate. Gli archivi dati (ad esempio, Archiviazione di Azure e database SQL) e i calcoli (ad esempio, Azure HDInsight) usati dalla data factory possono trovarsi in altre aree.

  8. Seleziona Crea.

  9. Al termine della creazione, la relativa notifica verrà visualizzata nel centro notifiche. Selezionare Vai alla risorsa per passare alla pagina della data factory.

  10. Selezionare Crea e monitora per avviare l'interfaccia utente di Data Factory in una scheda separata.

Creare una pipeline con un'attività Flusso di dati

In questo passaggio si creerà una pipeline contenente un'attività Flusso di dati.

  1. Nella home page di Azure Data Factory selezionare Orchestrate .On the home page of Azure Data Factory, select Orchestrate.

    Screenshot that shows the ADF home page.

  2. Nella scheda Generale della pipeline immettere TransformMovies per Nome della pipeline.

  3. Nel riquadro Attività espandere la fisarmonica Sposta e Trasforma. Trascinare e rilasciare l'attività Flusso di dati dal riquadro all'area di disegno della pipeline.

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

  4. Nella finestra popup Aggiunta Flusso di dati selezionare Crea nuovo Flusso di dati e assegnare al flusso di dati il nome TransformMovies. Fare clic su Fine al termine.

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

  5. Nella barra superiore dell'area di disegno pipeline scorrere il dispositivo di scorrimento Flusso di dati debug. La modalità di debug consente il test interattivo della logica di trasformazione in un cluster Spark attivo. Flusso di dati i cluster richiedono 5-7 minuti e gli utenti sono consigliati per attivare il debug prima se prevedono di eseguire Flusso di dati sviluppo. Per altre informazioni, vedere Modalità di debug.

    Data Flow Activity

Compilare la logica di trasformazione nell'area di disegno del flusso di dati

Dopo aver creato il Flusso di dati, si verrà inviati automaticamente all'area di disegno del flusso di dati. Se non si viene reindirizzati all'area di disegno del flusso di dati, nel pannello sotto l'area di disegno passare a Impostazioni e selezionare Apri, che si trova accanto al campo flusso di dati. Verrà aperta l'area di disegno del flusso di dati.

Screenshot showing how to open the data flow editor from the pipeline editor.

In questo passaggio si creerà un flusso di dati che accetta moviesDB.csv nell'archiviazione ADLS e aggrega la classificazione media delle commedie dal 1910 al 2000. Si scriverà quindi di nuovo questo file nell'archiviazione ADLS.

  1. Nell'area di disegno flusso di dati aggiungere un'origine facendo clic sulla casella Aggiungi origine .

    Screenshot that shows the Add Source box.

  2. Assegnare all'origine il nome MoviesDB. Fare clic su Nuovo per creare un nuovo set di dati di origine.

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

  3. Scegliere Azure Data Lake Archiviazione Gen2. Fare clic su Continua.

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

  4. Scegliere DelimitedText. Fare clic su Continua.

    Screenshot that shows the DelimitedText tile.

  5. Assegnare al set di dati il nome MoviesDB. Nell'elenco a discesa servizio collegato scegliere Nuovo.

    Screenshot that shows the Linked service dropdown list.

  6. Nella schermata di creazione del servizio collegato assegnare un nome ad ADLS Gen2 al servizio collegato ADLSGen2 e specificare il metodo di autenticazione. Immettere quindi le credenziali di connessione. In questa esercitazione si usa la chiave dell'account per connettersi all'account di archiviazione. È possibile fare clic su Test connessione per verificare che le credenziali siano state immesse correttamente. Al termine, fare clic su Crea.

    Linked Service

  7. Quando si torna alla schermata di creazione del set di dati, immettere dove si trova il file nel campo Percorso file. In questa esercitazione il file moviesDB.csv si trova nel contenitore sample-data. Quando il file contiene intestazioni, selezionare First row as header (Prima riga come intestazione). Selezionare Da connessione/archivio per importare lo schema di intestazione direttamente dal file nell'archiviazione. Fare clic su OK al termine dell'operazione.

    Datasets

  8. Se il cluster di debug è stato avviato, passare alla scheda Anteprima dati della trasformazione origine e fare clic su Aggiorna per ottenere uno snapshot dei dati. È possibile usare l'anteprima dei dati per verificare che la trasformazione sia configurata correttamente.

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

  9. Accanto al nodo di origine nell'area di disegno del flusso di dati, fare clic sull'icona con il segno più per aggiungere una nuova trasformazione. La prima trasformazione che si sta aggiungendo è un filtro.

    Data Flow Canvas

  10. Denominare la trasformazione filtro FilterYears. Fare clic sulla casella espressione accanto a Filtra per aprire il generatore di espressioni. Qui si specificherà la condizione di filtro.

    Screenshot that shows the Filter on expression box.

  11. Il generatore di espressioni del flusso di dati consente di compilare in modo interattivo espressioni da usare in varie trasformazioni. Le espressioni possono includere funzioni predefinite, colonne dello schema di input e parametri definiti dall'utente. Per altre informazioni su come compilare espressioni, vedere Flusso di dati generatore di espressioni.

    In questa esercitazione si vogliono filtrare i film di genere commedia che sono usciti tra gli anni 1910 e 2000. Poiché year è attualmente una stringa, è necessario convertirlo in un numero intero usando la toInteger() funzione . Usare gli operatori maggiori o uguali a (>=) e minori o uguali a (<=) per confrontare i valori letterali anno 1910 e 2000. Unire queste espressioni con l'operatore e (&&). L'espressione viene restituita come segue:

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

    Per trovare quali film sono commedie, è possibile usare la funzione per trovare il rlike() modello 'Comedy' nei generi di colonna. Unire l'espressione con il confronto dell'anno rlike per ottenere:

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

    Se è attivo un cluster di debug, è possibile verificare la logica facendo clic su Aggiorna per visualizzare l'output dell'espressione rispetto agli input usati. Esiste più di una risposta corretta su come eseguire questa logica usando il linguaggio delle espressioni del flusso di dati.

    Filter

    Dopo aver completato l'espressione, fare clic su Salva e fine .

  12. Recuperare un'anteprima dei dati per verificare che il filtro funzioni correttamente.

    Screenshot that shows the Data Preview that you fetched.

  13. La trasformazione successiva che si aggiungerà è una trasformazione Aggregazione in Modificatore dello schema.

    Screenshot that shows the Aggregate schema modifier.

  14. Assegnare un nome alla trasformazione di aggregazione AggregateComedyRatings. Nella scheda Raggruppa per selezionare anno dall'elenco a discesa per raggruppare le aggregazioni in base all'anno in cui è uscito il film.

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

  15. Passare alla scheda Aggregazioni . Nella casella di testo a sinistra denominare la colonna di aggregazione AverageComedyRating. Fare clic sulla casella dell'espressione a destra per immettere l'espressione di aggregazione tramite il generatore di espressioni.

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

  16. Per ottenere la media della colonna Rating, usare la avg() funzione di aggregazione. Poiché Rating è una stringa e avg() accetta un input numerico, è necessario convertire il valore in un numero tramite la toInteger() funzione . L'espressione è simile alla seguente:

    avg(toInteger(Rating))

    Al termine, fare clic su Salva e fine .

    Screenshot that shows the saved expression.

  17. Passare alla scheda Anteprima dati per visualizzare l'output della trasformazione. Si noti che sono presenti solo due colonne, year e AverageComedyRating.

    Aggregate

  18. Successivamente, si vuole aggiungere una trasformazione Sink in Destinazione.

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

  19. Assegnare un nome al sink. Fare clic su Nuovo per creare il set di dati sink.

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

  20. Scegliere Azure Data Lake Archiviazione Gen2. Fare clic su Continua.

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

  21. Scegliere DelimitedText. Fare clic su Continua.

    Dataset

  22. Denominare il set di dati sink MoviesSink. Per il servizio collegato, scegliere il servizio collegato ADLS Gen2 creato nel passaggio 6. Immettere una cartella di output in cui scrivere i dati. In questa esercitazione si sta scrivendo nella cartella 'output' nel contenitore 'sample-data'. La cartella non deve esistere in anticipo e può essere creata dinamicamente. Impostare Prima riga come intestazione su true e selezionareNessuno per Importa schema. Fare clic su Fine.

    Sink

A questo punto è stata completata la compilazione del flusso di dati. È possibile eseguirlo nella pipeline.

Esecuzione e monitoraggio del Flusso di dati

È possibile eseguire il debug di una pipeline prima di pubblicarla. In questo passaggio si attiverà un'esecuzione di debug della pipeline del flusso di dati. Mentre l'anteprima dei dati non scrive dati, un'esecuzione di debug scriverà i dati nella destinazione del sink.

  1. Passare all'area di disegno della pipeline. Fare clic su Debug per attivare un'esecuzione di debug.

    Screenshot that shows the pipeline canvas with Debug highlighted.

  2. Il debug della pipeline delle attività di Flusso di dati usa il cluster di debug attivo, ma richiede comunque almeno un minuto per inizializzare. È possibile tenere traccia dello stato di avanzamento tramite la scheda Output . Al termine dell'esecuzione, fare clic sull'icona degli occhiali per aprire il riquadro di monitoraggio.

    Pipeline

  3. Nel riquadro di monitoraggio è possibile visualizzare il numero di righe e il tempo impiegato in ogni passaggio di trasformazione.

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

  4. Fare clic su una trasformazione per ottenere informazioni dettagliate sulle colonne e sul partizionamento dei dati.

    Monitoring

Se questa esercitazione è stata seguita correttamente, è necessario scrivere 83 righe e 2 colonne nella cartella sink. È possibile verificare che i dati siano corretti controllando l'archiviazione BLOB.

La pipeline in questa esercitazione esegue un flusso di dati che aggrega la classificazione media delle comedies dal 1910 al 2000 e scrive i dati in ADLS. Contenuto del modulo:

  • Creare una data factory.
  • Creare una pipeline con un'attività di Flusso di dati.
  • Creare un flusso di dati di mapping con quattro trasformazioni.
  • Eseguire test della pipeline.
  • Monitorare un'attività di Flusso di dati

Altre informazioni sul linguaggio delle espressioni del flusso di dati.