Trasformare i dati in modo sicuro usando il flusso di dati di mapping
SI APPLICA A: Azure Data Factory Azure Synapse Analytics
Suggerimento
Provare Data Factory in Microsoft Fabric, una soluzione di analisi all-in-one per le aziende. Microsoft Fabric copre tutto, dallo spostamento dati al data science, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Vedere le informazioni su come iniziare una nuova prova gratuita!
Se non si ha familiarità con Azure Data Factory, vedere Introduzione ad Azure Data Factory.
In questa esercitazione si userà l'interfaccia utente di Data Factory per creare una pipeline che copia e trasforma i dati da un'origine Azure Data Lake Storage Gen2 a un sink Data Lake Storage Gen2 (che consente l'accesso solo alle reti selezionate) usando il flusso di dati di mapping in Data Factory Managed Rete virtuale. È possibile espandere il modello di configurazione in questa esercitazione quando si trasformano i dati usando il flusso di dati di mapping.
In questa esercitazione vengono completati i passaggi seguenti:
- Creare una data factory.
- Creare una pipeline con un'attività del flusso di dati.
- Creare un flusso di dati di mapping con quattro trasformazioni.
- Eseguire test della pipeline.
- Monitorare un'attività del flusso di dati.
Prerequisiti
- Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito prima di iniziare.
- Account di archiviazione di Azure. Data Lake Storage viene usato come archivio 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. Assicurarsi che l'account di archiviazione consenta l'accesso solo da reti selezionate.
Il file che verrà trasformato in questa esercitazione è moviesDB.csv, disponibile in questo sito di contenuto GitHub. Per recuperare il file da GitHub, copiare il contenuto in un editor di testo di propria scelta per salvarlo in locale come file .csv. Per caricare il file nell'account di archiviazione, vedere Caricare BLOB con il portale di Azure. Gli esempi fanno riferimento a un contenitore denominato sample-data.
Creare una data factory
In questo passaggio si crea una data factory e si apre l'interfaccia utente di Data Factory per creare una pipeline nella data factory.
Aprire Microsoft Edge o Google Chrome. L'interfaccia utente di Data Factory è attualmente supportata solo nei Web browser Microsoft Edge e Google Chrome.
Nel menu a sinistra selezionare Crea una risorsa>Analisi>Data factory.
Nella pagina Nuova data factory immettere ADFTutorialDataFactory in Nome.
Il nome della data factory 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, nomeADFTutorialDataFactory). Per informazioni sulle regole di denominazione per gli elementi di Data factory, vedere Azure Data factory - Regole di denominazione.
Selezionare la sottoscrizione di Azure in cui creare la data factory.
In Gruppo di risorse eseguire una di queste operazioni:
- Selezionare Usa esistentee scegliere un gruppo di risorse esistente dall'elenco a discesa.
- 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.
In Versione selezionare V2.
In Località selezionare una località per la data factory. Nell'elenco a discesa vengono visualizzate solo le località supportate. Gli archivi dati (ad esempio, Archiviazione di Azure e database SQL di Azure) e i calcoli (ad esempio, Azure HDInsight) usati dalla data factory possono trovarsi in altre aree.
Seleziona Crea.
Al termine della creazione, la relativa notifica verrà visualizzata nel centro notifiche. Selezionare Vai alla risorsa per passare alla pagina Data Factory.
Selezionare Apri Azure Data Factory Studio per avviare l'interfaccia utente di Data Factory in una scheda separata.
Creare un runtime di integrazione di Azure in data factory gestito Rete virtuale
In questo passaggio si crea un runtime di integrazione di Azure e si abilita l'Rete virtuale gestita di Data Factory.
Nel portale di Data Factory passare a Gestisci e selezionare Nuovo per creare un nuovo runtime di integrazione di Azure.
Nella pagina Configurazione del runtime di integrazione scegliere il runtime di integrazione da creare in base alle funzionalità necessarie. In questa esercitazione selezionare Azure, Self-Hosted e quindi fare clic su Continua.
Selezionare Azure e quindi fare clic su Continua per creare un runtime di integrazione di Azure.
In Configurazione della rete virtuale (anteprima) selezionare Abilita.
Seleziona Crea.
Creare una pipeline con un'attività Flusso di dati
In questo passaggio si creerà una pipeline che contiene un'attività del flusso di dati.
Nella home page di Azure Data Factory selezionare Orchestrate .On the home page of Azure Data Factory, select Orchestrate.
Nel riquadro delle proprietà per la pipeline immettere TransformMovies come nome della pipeline.
Nel riquadro Attività espandere Sposta e trasforma. Trascinare l'attività Flusso di dati dal riquadro all'area di disegno della pipeline.
Nella finestra popup Aggiunta del flusso di dati selezionare Crea nuovo flusso di dati e quindi selezionare Mapping Flusso di dati. Al termine, selezionare OK .
Assegnare al flusso di dati il nome TransformMovies nel riquadro delle proprietà.
Nella barra superiore dell'area di disegno della pipeline scorrere 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.
Compilare la logica di trasformazione nel canvas del flusso di dati
Dopo aver creato il flusso di dati, si verrà inviati automaticamente all'area di disegno del flusso di dati. In questo passaggio si creerà un flusso di dati che accetta il file moviesDB.csv in Data Lake Storage e aggrega la valutazione media delle comedies dal 1910 al 2000. Si scriverà quindi di nuovo il file in Data Lake Storage.
Aggiungere la trasformazione di origine
In questo passaggio si configura Data Lake Storage Gen2 come origine.
Nell'area di disegno flusso di dati aggiungere un'origine selezionando la casella Aggiungi origine .
Assegnare all'origine il nome MoviesDB. Selezionare Nuovo per creare un nuovo set di dati di origine.
Selezionare Azure Data Lake Storage Gen2 e quindi continua.
Selezionare DelimitedText e quindi continua.
Assegnare al set di dati il nome MoviesDB. Nell'elenco a discesa servizio collegato selezionare Nuovo.
Nella schermata di creazione del servizio collegato assegnare un nome adLSGen2 al servizio collegato Data Lake Storage Gen2 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.
Assicurarsi di abilitare Creazione interattiva. L'abilitazione potrebbe richiedere alcuni minuti.
Selezionare Test connessione. L'operazione non riesce perché l'account di archiviazione non abilita l'accesso senza la creazione e l'approvazione di un endpoint privato. Nel messaggio di errore verrà visualizzato un collegamento che è possibile seguire per creare un endpoint privato gestito. Un'alternativa consiste nel passare direttamente alla scheda Gestisci e seguire le istruzioni in questa sezione per creare un endpoint privato gestito.
Tenere aperta la finestra di dialogo e quindi passare all'account di archiviazione.
Seguire le istruzioni riportate in questa sezione per approvare il collegamento privato.
Tornare nella finestra di dialogo. Selezionare di nuovo Test connessione e selezionare Crea per distribuire il servizio collegato.
Nella 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. Poiché il file include intestazioni, selezionare la casella di controllo Prima riga come intestazione . Selezionare Da connessione/archivio per importare lo schema di intestazione direttamente dal file nell'archiviazione. Al termine, selezionare OK .
Se il cluster di debug è stato avviato, passare alla scheda Anteprima dati della trasformazione origine e selezionare Aggiorna per ottenere uno snapshot dei dati. È possibile usare l'anteprima dei dati per verificare che la trasformazione sia configurata correttamente.
Creare un endpoint privato gestito
Se non è stato usato il collegamento ipertestuale quando è stata testata la connessione precedente, seguire il percorso. A questo punto è necessario creare un endpoint privato gestito che verrà connesso al servizio collegato creato.
Passare alla scheda Gestisci.
Nota
La scheda Gestisci potrebbe non essere disponibile per tutte le istanze di Data Factory. Se non viene visualizzata, è possibile accedere agli endpoint privati selezionando Autore>Connessioni >Endpoint privato.
Passare alla sezione Managed private endpoints (Endpoint privati gestiti).
Selezionare + Nuovo in Managed private endpoints (Endpoint privati gestiti).
Selezionare il riquadro di Azure Data Lake Storage Gen2 nell'elenco e selezionare Continua.
Immettere il nome dell'account di archiviazione creato.
Seleziona Crea.
Dopo alcuni secondi si noterà che il collegamento privato creato necessita dell'approvazione.
Selezionare l'endpoint privato creato. Verrà visualizzato un collegamento ipertestuale, seguendo il quale sarà possibile approvare l'endpoint privato a livello di account di archiviazione.
Approvazione di un collegamento privato in un account di archiviazione
Nell'account di archiviazione passare a Connessioni a endpoint privato nella sezione Impostazioni.
Selezionare la casella di controllo in base all'endpoint privato creato e selezionare Approva.
Aggiungere una descrizione e selezionare sì.
Tornare nella sezione Managed private endpoints (Gestisci endpoint privati) della scheda Gestisci in Data Factory.
Dopo circa un minuto, verrà visualizzata l'approvazione per l'endpoint privato.
Aggiungere la trasformazione filtro
Accanto al nodo di origine nell'area di disegno del flusso di dati, selezionare l'icona con il segno più per aggiungere una nuova trasformazione. La prima trasformazione che verrà aggiunta è un filtro.
Denominare la trasformazione filtro FilterYears. Selezionare la casella dell'espressione accanto a Filtra per aprire il generatore di espressioni. Qui si specificherà la condizione di filtro.
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 questa esercitazione si vogliono filtrare i film nel genere commedia che è uscito tra gli anni 1910 e 2000. Poiché l'anno è 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 dell'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
rlike()
funzione per trovare il modello 'Comedy' nei generi di colonna. Unire l'espressionerlike
con il confronto dell'anno per ottenere:toInteger(year) >= 1910 && toInteger(year) <= 2000 && rlike(genres, 'Comedy')
Se è attivo un cluster di debug, è possibile verificare la logica selezionando 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.
Selezionare Salva e terminare al termine dell'espressione.
Recuperare un'anteprima dei dati per verificare che il filtro funzioni correttamente.
Aggiungere la trasformazione di aggregazione
La trasformazione successiva che si aggiungerà è una di tipo Aggregazione in Modificatore dello schema.
Assegnare un nome alla trasformazione di aggregazione AggregateComedyRating. Nella scheda Raggruppa per selezionare anno dalla casella di riepilogo a discesa per raggruppare le aggregazioni in base all'anno in cui è uscito il film.
Passare alla scheda Aggregates (Aggregazioni). Nella casella di testo a sinistra denominare la colonna di aggregazione AverageComedyRating. Selezionare la casella dell'espressione destra per immettere l'espressione di aggregazione tramite il generatore di espressioni.
Per ottenere la media della colonna Valutazione, usare la funzione di aggregazione
avg()
. Poiché Rating è una stringa eavg()
accetta un input numerico, è necessario convertire il valore in un numero tramite latoInteger()
funzione . Questa espressione ha un aspetto simile a quanto segue:avg(toInteger(Rating))
Al termine, selezionare Salva e termina .
Andare alla scheda Anteprima dati per visualizzare l'output della trasformazione. Si noti che sono presenti solo due colonne, anno e AverageComedyRating.
Aggiungere la trasformazione sink
Successivamente, si desidera aggiungere una trasformazione Sink in Destinazione.
Denominare il sink Sink. Selezionare Nuovo per creare il set di dati sink.
Nella pagina Nuovo set di dati selezionare Azure Data Lake Storage Gen2 e quindi selezionare Continua.
Nella pagina Seleziona formato selezionare DelimitedText e quindi continua.
Denominare il set di dati del sink MoviesSink. Per il servizio collegato, scegliere lo stesso servizio collegato ADLSGen2 creato per la trasformazione dell'origine. Immettere una cartella di output in cui scrivere i dati. In questa esercitazione si sta scrivendo nell'output della cartella nel contenitore sample-data. Non occorre che la cartella esista in anticipo ed è possibile crearla dinamicamente. Selezionare la casella di controllo Prima riga come intestazione e selezionare Nessuno per Importa schema. Seleziona OK.
A questo punto la compilazione del flusso di dati è giunta al termine. È possibile eseguirlo nella pipeline.
Eseguire e monitorare il flusso di dati
È possibile eseguire il debug di una pipeline prima di pubblicarla. In questo passaggio viene attivata 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.
Andare al canvas della pipeline. Selezionare Debug per attivare un'esecuzione di debug.
Il debug della pipeline delle attività del 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, selezionare l'icona degli occhiali per i dettagli dell'esecuzione.
Nella pagina dei dettagli è possibile visualizzare il numero di righe e il tempo impiegato per ogni passaggio di trasformazione.
Selezionare una trasformazione per ottenere informazioni dettagliate sulle colonne e sul partizionamento dei dati.
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.
Riepilogo
In questa esercitazione è stata usata l'interfaccia utente di Data Factory per creare una pipeline che copia e trasforma i dati da un'origine Data Lake Storage Gen2 a un sink Data Lake Storage Gen2 (che consente l'accesso solo alle reti selezionate) usando il flusso di dati di mapping in Data Factory Managed Rete virtuale.