Condividi tramite


Avvio rapido: trasformare i dati con i flussi di dati per mapping

In questo avvio rapido si userà Azure Synapse Analytics per creare una pipeline che trasforma i dati da un'origine Azure Data Lake Storage Gen2 (ADLS Gen2) a un sink ADLS Gen2 usando il flusso di dati di mapping. È possibile espandere il modello di configurazione di questo avvio rapido quando si trasformano i dati usando il flusso di dati di mapping

In questo avvio rapido si eseguono le operazioni seguenti:

  • Creare una pipeline con un’attività del flusso di dati in Azure Synapse Analytics.
  • Creare un flusso di dati di mapping con quattro trasformazioni.
  • Eseguire test della pipeline.
  • Monitorare un’attività di flusso di dati

Prerequisiti

  • Sottoscrizione di Azure: se non si dispone di una sottoscrizione di Azure, prima di iniziare, creare un account Azure gratuito.

  • Area di lavoro di Azure Synapse: creare un'area di lavoro di Synapse usando il portale di Azure e seguendo le istruzioni in Avvio rapido: creare un'area di lavoro di Synapse.

  • Account di archiviazione di Azure: si usa l'archiviazione ADLS come archivi dati di origine e sink. Se non si ha un account di archiviazione, vedere Creare un account di archiviazione di Azure per informazioni su come crearne uno.

    Il file che si sta 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".

Dopo aver creato l'area di lavoro di Azure Synapse, è possibile aprire Synapse Studio in due modi:

  • Aprire l'area di lavoro di Synapse nel portale di Azure. Selezionare Apri nella scheda Apri Synapse Studio sotto Attività iniziali.
  • Aprire Azure Synapse Analytics e accedere all'area di lavoro.

In questo argomento di avvio rapido viene usata come esempio l'area di lavoro denominata "adftest2020". Si verrà indirizzati automaticamente alla home page di Synapse Studio.

Synapse Studio home page

Creare una pipeline con un'attività Flusso di dati

Una pipeline contiene il flusso logico per un'esecuzione di un set di attività. In questa sezione si creerà una pipeline che contiene un'attività Flusso di dati.

  1. Passare alla scheda Integrazione. Selezionare l'icona con il segno più accanto all'intestazione della pipeline e quindi selezionare Pipeline.

    Create a new pipeline

  2. Nella pagina delle impostazioni Proprietà della pipeline immettere TransformMovies per Nome.

  3. In Sposta e trasforma nel riquadro Attività trascinare Copia dati sul canvas della pipeline.

  4. Nella pagina popup Aggiungere flusso di dati selezionare Crea nuovo flusso di dati ->Flusso di dati. Fare clic su OK al termine dell'operazione.

    Create a data flow

  5. Assegnare al flusso di dati il nome TransformMovies nella pagina Proprietà.

Compilare la logica di trasformazione nel canvas del flusso di dati

Dopo aver creato il flusso di dati, si verrà inviati automaticamente al canvas del flusso di dati. In questo passaggio si creerà un flusso di dati che accetta il MoviesDB.csv nell'archiviazione ADLS e aggrega la classificazione media dei film di genere commedia rilasciati dal 1910 al 2000. Si scriverà quindi di nuovo questo file nell'archiviazione ADLS.

  1. Sopra il canvas del flusso di dati trascinare il dispositivo di scorrimento Debug del flusso di dati. La modalità di debug consente il test interattivo della logica di trasformazione rispetto a un cluster Spark live. L’avvio dei cluster Flusso di dati impiega 5-7 minuti e si consiglia di attivare prima il debug se si pianifica lo sviluppo del flusso di dati. Per altre informazioni, vedere Modalità di debug.

    Slide the debug on

  2. Nel canvas del flusso di dati aggiungere un'origine facendo clic sulla casella Aggiungi origine.

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

    Create a new source dataset

  4. Selezionare Azure Data Lake Storage Gen2. Fare clic su Continua.

    Choose Azure Data Lake Storage Gen2

  5. Scegliere DelimitedText. Fare clic su Continua.

  6. Assegnare al set di dati il nome MoviesDB. Nell'elenco a discesa dei servizi collegati scegliere Nuovo.

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

    Create a source linked service

  8. Quando si torna alla schermata di creazione del set di dati, nel campo Percorso file immettere l’ubicazione del file. In questo avvio rapido il file "MoviesDB.csv" si trova nel contenitore "sample-data". Quando il file contiene intestazioni, selezionare 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.

    Source dataset settings

  9. 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.

    Data preview

  10. Accanto al nodo di origine nel canvas 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.

    Add a filter

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

  12. 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 Generatore di espressioni del flusso di dati.

    In questo avvio rapido si desidera filtrare i film di genere commedia usciti tra gli anni 1910 e 2000. Poiché l’anno è attualmente una stringa, è necessario convertirlo in un numero intero usando la funzione toInteger(). Usare gli operatori maggiori o uguali a (>=) e minori o uguali a (<=) per confrontare i valori degli anni letterali 1910 e 200-. 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 rlike() per trovare il modello "Commedia" nella colonna Generi. Unire l'espressione rlike con il confronto dell'anno per ottenere:

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

    Specify filtering condition

    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.

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

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

  14. La trasformazione successiva che si aggiungerà è una di tipo Aggregazione in Modificatore dello schema.

    Add an Aggregate

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

    Aggregate settings 1

  16. Passare alla scheda Aggregates (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.

    Aggregate settings 2

  17. Per ottenere la media della colonna Valutazione, usare la funzione di aggregazione avg(). Poiché Valutazione è una stringa e avg() accetta un input numerico, è necessario convertire il valore in un numero tramite la funzione toInteger(). Questa espressione ha un aspetto simile a quanto segue:

    avg(toInteger(Rating))

    Al termine, fare clic su Salva e fine.

    Average comedy rating

  18. Andare alla scheda Anteprima dati per visualizzare l'output della trasformazione. Si noti che sono presenti solo due colonne, anno e AverageComedyRating.

    Aggregate Data Preview

  19. Successivamente, si desidera aggiungere una trasformazione Sink in Destinazione.

    Add a Sink

  20. Denominare il sink Sink. Fare clic su Nuovo per creare il set di dati del sink.

  21. Selezionare Azure Data Lake Storage Gen2. Fare clic su Continua.

  22. Scegliere DelimitedText. Fare clic su Continua.

  23. Denominare il set di dati del sink MoviesSink. Per il servizio collegato, scegliere il servizio collegato ADLS Gen2 creato nel passaggio 7. Immettere una cartella di output in cui scrivere i dati. In questo avvio rapido si sta scrivendo nella cartella "output" nel contenitore "sample-data"’. Non occorre che la cartella esista in anticipo ed è possibile crearla dinamicamente. Impostare Prima riga come intestazione su true e selezionare Nessuno per Importa schema. Fare clic su OK al termine dell'operazione.

    Sink dataset properties

A questo punto la compilazione del flusso di dati è giunta al termine. È 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. Andare al canvas della pipeline. Fare clic su Debug per attivare un'esecuzione di debug.

    Debug pipeline

  2. Il debug della pipeline delle attività Flusso di dati usa il cluster di debug attivo; tuttavia, la sua inizializzazione impiega almeno un minuto. È possibile tenere traccia dello stato di avanzamento tramite la scheda Output. Al termine dell'esecuzione, fare clic sull'icona a forma di occhiali per aprire il riquadro di monitoraggio.

    Debugging output

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

    Transformation monitoring

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

    Transformation details

Se questo avvio rapido è stato eseguito correttamente, si dovrebbe aver scritto 83 righe e 2 colonne nella cartella sink. È possibile verificare i dati controllando l'archiviazione BLOB.

Passaggi successivi

Leggere gli articoli seguenti per altre informazioni sul supporto di Azure Synapse Analytics: