Condividi tramite


Trasformare i dati in delta lake 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 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 usa l'area di disegno del flusso di dati per creare flussi di dati che consentono di analizzare e trasformare i dati in Azure Data Lake Storage (ADLS) Gen2 e archiviarli in Delta Lake.

Prerequisiti

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 fanno 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. L'interfaccia utente di Data Factory è attualmente supportata solo nei Web browser Microsoft Edge e Google Chrome.

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

  3. Nella pagina Nuova data factory immettere ADFTutorialDataFactory in Nome

  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. Archivi dati (ad esempio, Archiviazione di Azure e il database SQL) e risorse di calcolo (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 crea una pipeline che contiene un'attività del flusso di dati.

  1. Nella home page selezionare Esegui orchestrazione.

    Screenshot che mostra la home page di Azure Data Factory.

  2. Nella scheda Generale per la pipeline immettere DeltaLake per Nome della pipeline.

  3. Nel riquadro Attività espandere l’accordion Sposta e trasforma. Trascinare e rilasciare l'attività Flusso di dati dal riquadro all'area di disegno della pipeline.

    Screenshot che mostra l'area di disegno della pipeline in cui è possibile eliminare l'attività Flusso di dati.

  4. Nel popup Aggiungere flusso di dati selezionare Crea nuovo flusso di dati e assegnare al flusso di dati il nome DeltaLake. Al termine, selezionare Fine.

    Screenshot che mostra dove assegnare un nome al flusso di dati quando si crea un nuovo flusso di dati.

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

    Screenshot che mostra dove è il dispositivo di scorrimento Debug flusso di dati.

Compilare la logica di trasformazione nel canvas del flusso di dati

In questa esercitazione vengono generati due flussi di dati. Il primo flusso di dati è un'origine semplice da sink per generare un nuovo Delta Lake dal file CSV dei film. Infine, si crea la progettazione del flusso che segue per aggiornare i dati in Delta Lake.

Flusso finale

Obiettivi dell'esercitazione

  1. Usare l'origine del set di dati MoviesCSV dai prerequisiti e formare un nuovo Delta Lake.
  2. Creare la logica per aggiornare le classificazioni per i film del 1988 a '1'.
  3. Eliminare tutti i film dal 1950.
  4. Inserire nuovi film per il 2021 duplicando i film dal 1960.

Iniziare da un'area di disegno del flusso di dati vuota

  1. Selezionare la trasformazione di origine nella parte superiore della finestra dell'editor del flusso di dati e quindi selezionare + Nuovo accanto alla proprietà Set di dati nella finestra Impostazioni origine:

    Screenshot che mostra dove aggiungere un nuovo set di dati di origine al flusso di dati.

  2. Selezionare Azure Data Lake Storage Gen2 nella finestra Nuovo set di dati visualizzato e quindi selezionare Continua.

    Screenshot che mostra dove selezionare Azure Data Lake Storage Gen2 nella finestra Nuovo set di dati.

  3. Scegliere DelimitedText per il tipo di set di dati e selezionare di nuovo Continua.

    Screenshot che mostra dove selezionare il formato per il set di dati.

  4. Assegnare al set di dati il nome “MoviesCSV” e selezionare + Nuovo in Servizio collegato per creare un nuovo servizio collegato al file.

  5. Specificare i dettagli per l'account di archiviazione creato in precedenza nella sezione Prerequisiti e selezionare il file MoviesCSV caricato.

  6. Dopo aver aggiunto il servizio collegato, selezionare la casella di controllo Prima riga come intestazione, quindi selezionare OK per aggiungere l'origine.

  7. Passare alla scheda Proiezione della finestra delle impostazioni del flusso di dati e quindi selezionare Rilevare i tipi di dati.

  8. Selezionare ora il + dopo l'origine nella finestra dell'editor del flusso di dati e scorrere verso il basso per selezionare Sink nella sezione Destinazione, aggiungendo un nuovo sink al flusso di dati.

    Screenshot che mostra dove aggiungere una destinazione sink per il flusso di dati.

  9. Nella scheda Sink per le impostazioni sink visualizzate dopo l'aggiunta del sink selezionare Inline per il tipo di sinke quindi Delta per il tipo di set di dati inline. Selezionare quindi Azure Data Lake Storage Gen2 per il servizio collegato.

    Screenshot che mostra i dettagli del sink per un set di dati delta inline.

  10. Scegliere un nome di cartella nel contenitore di archiviazione in cui si vuole creare il servizio Delta Lake.

  11. Infine, tornare alla finestra di progettazione della pipeline e selezionare Debug per eseguire la pipeline in modalità di debug con solo questa attività del flusso di dati nell'area di disegno. Questo genera il nuovo Delta Lake in Azure Data Lake Storage Gen2.

  12. A questo momento, dal menu Risorse factory a sinistra della schermata selezionare + per aggiungere una nuova risorsa e quindi selezionare Flusso di dati.

    Screenshot che mostra dove creare un nuovo flusso di dati nel data factory.

  13. Come in precedenza, selezionare di nuovo il file MoviesCSV come origine e quindi selezionare Rileva tipi di dati di nuovo nella scheda Proiezione.

  14. Questa volta, dopo aver creato l'origine, selezionare il + nella finestra dell'editor del flusso di dati e aggiungere una trasformazione Filtro all'origine.

    Screenshot che mostra dove aggiungere una Condizione filtro al flusso di dati.

  15. Aggiungere una condizione Filtra per condizione nella finestra Impostazioni filtro che consente solo le righe di film corrispondenti a 1950, 1960 e 1988.

    Screenshot che mostra dove aggiungere un filtro nella colonna Anno per il set di dati.

  16. Aggiungere ora una trasformazione colonna derivata per aggiornare le classificazioni per ogni film del 1988 a '1'.

    Screenshot che mostra dove immettere l'espressione per la colonna derivata.

  17. Update, insert, delete, and upsert criteri vengono creati nella trasformazione alter Row. Aggiungere una trasformazione alter row dopo la colonna derivata.

  18. I criteri di modifica delle righe dovrebbero essere simili al seguente.

    Alter Row

  19. Dopo aver impostato i criteri appropriati per ogni tipo di riga di modifica, verificare che le regole di aggiornamento appropriate siano state impostate nella trasformazione sink

    Sink

  20. In questo caso si usa il sink Delta Lake nel data lake di Azure Data Lake Storage Gen2 e vengono consentiti inserimenti, aggiornamenti ed eliminazioni.

  21. Si noti che le colonne chiave sono una chiave composta costituita dalla colonna chiave primaria Movie e dalla colonna anno. Questo è perché abbiamo creato film falsi 2021 duplicando le righe del 1960. In questo modo si evitano conflitti durante la ricerca delle righe esistenti fornendo un'univocità.

Scaricare l'esempio completato

Ecco una soluzione di esempio per la pipeline Delta con un flusso di dati per le righe di aggiornamento/eliminazione nel lake.

Altre informazioni sul Linguaggio delle espressioni del flusso di dati.