Acquisire i dati modificati con l'evoluzione dello schema da database SQL di Azure a un sink Delta usando una risorsa change data capture

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 .

In questo articolo si usa l'interfaccia utente di Azure Data Factory per creare una risorsa change data capture (CDC). La risorsa preleva i dati modificati da un'origine database SQL di Azure e lo aggiunge a Delta Lake archiviato in Azure Data Lake Archiviazione Gen2, in tempo reale. Questa attività illustra il supporto dell'evoluzione dello schema usando una risorsa CDC tra origine e sink.

In questo articolo vengono illustrate le operazioni seguenti:

  • Creare una risorsa CDC.
  • Apportare modifiche dello schema dinamico a una tabella di origine.
  • Convalidare le modifiche dello schema nel sink Delta di destinazione.

È possibile modificare ed espandere il modello di configurazione in questo articolo.

Prerequisiti

Prima di iniziare le procedure descritte in questo articolo, assicurarsi di disporre di queste risorse:

  • Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account Azure gratuito.
  • Database SQL. Usare database SQL di Azure come archivio dati di origine. Se non si ha un database SQL, crearne uno nel portale di Azure.
  • Account di archiviazione. È possibile usare Delta Lake archiviato in Azure Data Lake Archiviazione Gen2 come archivio dati di destinazione. Se non si ha un account di archiviazione, vedere Creare un account di archiviazione per la procedura per crearne uno.

Creare un artefatto CDC

  1. Passare al riquadro Autore nella data factory. Sotto Pipeline viene visualizzato un nuovo artefatto di primo livello denominato Change Data Capture (anteprima).

    Screenshot of a new top-level artifact for change data capture on the Factory Resources pane.

  2. Passare il puntatore del mouse su Change Data Capture (anteprima) fino a visualizzare tre puntini. Selezionare quindi Change Data Capture (anteprima).

    Screenshot of the button for change data capture actions appearing over the new top-level artifact.

  3. Selezionare New CDC (preview). Questo passaggio apre un riquadro a comparsa per avviare il processo guidato.

    Screenshot of a list of change data capture actions.

  4. Viene richiesto di assegnare un nome alla risorsa CDC. Per impostazione predefinita, il nome è "adfcdc" con un numero che incrementa di 1. È possibile sostituire questo nome predefinito con un nome scelto.

    Screenshot of the text box to update the name of a resource.

  5. Usare l'elenco a discesa per scegliere l'origine dati. Per questo articolo selezionare database SQL di Azure.

    Screenshot of the guided process flyout with source options in a dropdown list.

  6. Viene richiesto di selezionare un servizio collegato. Creare un nuovo servizio collegato o selezionare uno esistente.

    Screenshot of the box to choose or create a linked service.

  7. Dopo aver selezionato un servizio collegato, viene richiesto di selezionare le tabelle di origine. Usare le caselle di controllo per selezionare le tabelle di origine e quindi selezionare il valore di colonna Incrementale usando l'elenco a discesa.

    Screenshot that shows selection of a source table and an incremental column.

    Nel riquadro sono elencate solo le tabelle con tipi di dati delle colonne incrementali supportati.

    Nota

    Per abilitare CDC con l'evoluzione dello schema in un'origine database SQL di Azure, scegliere tabelle basate su colonne limite anziché tabelle che sono native di SQL CDC abilitate.

  8. Dopo aver selezionato le tabelle di origine, selezionare Continua per impostare la destinazione dati.

    Screenshot of the Continue button in the guided process to select a data target.

  9. Selezionare un valore tipo di destinazione usando l'elenco a discesa. Per questo articolo selezionare Delta.

    Screenshot of a dropdown menu of all data target types.

  10. Viene richiesto di selezionare un servizio collegato. Creare un nuovo servizio collegato o selezionare uno esistente.

    Screenshot of the box to choose or create a linked service to your data target.

  11. Selezionare la cartella dati di destinazione. È possibile usare una delle due operazioni seguenti:

    • Il pulsante Sfoglia in Percorso di base di destinazione consente di popolare automaticamente il percorso di esplorazione per tutte le nuove tabelle selezionate per un'origine.
    • Il pulsante Sfoglia all'esterno di selezionare singolarmente il percorso della cartella.

    Screenshot of a folder icon to browse for a folder path.

  12. Dopo aver selezionato un percorso di cartella, selezionare il pulsante Continua .

    Screenshot of the Continue button in the guided process to proceed to the next step.

  13. Viene visualizzata una nuova scheda per l'acquisizione dei dati delle modifiche. Questa scheda è CDC Studio, in cui è possibile configurare la nuova risorsa.

    Screenshot of the change data capture studio.

    Viene creato automaticamente un nuovo mapping. È possibile aggiornare le selezioni Tabella di origine e Tabella di destinazione per il mapping usando gli elenchi a discesa.

    Screenshot of the source-to-target mapping in the change data capture studio.

  14. Dopo aver selezionato le tabelle, le relative colonne vengono mappate per impostazione predefinita con l'interruttore Mappa automatica attivato. Il mapping automatico esegue automaticamente il mapping delle colonne in base al nome nel sink, rileva le modifiche di nuova colonna quando lo schema di origine si evolve e passa queste informazioni ai tipi di sink supportati.

    Screenshot of the toggle for automatic mapping turned on.

    Nota

    L'evoluzione dello schema funziona solo quando l'interruttore Mappa automatica è attivato. Per informazioni su come modificare i mapping delle colonne o includere trasformazioni, vedere Acquisire dati modificati con una risorsa change data capture.

  15. Selezionare il collegamento Chiavi e quindi selezionare la colonna Chiavi da usare per tenere traccia delle operazioni di eliminazione.

    Screenshot of the link to enable Keys column selection.

    Screenshot of selecting a Keys column for the selected source.

  16. Al termine dei mapping, impostare la latenza CDC usando il pulsante Imposta latenza .

    Screenshot of the Set Latency button at the top of the canvas.

  17. Selezionare la latenza di CDC e quindi selezionare Applica per apportare le modifiche.

    Per impostazione predefinita, la latenza è impostata su 15 minuti. L'esempio in questo articolo usa l'opzione In tempo reale per la latenza. La latenza in tempo reale preleva continuamente le modifiche nei dati di origine in intervalli inferiori a 1 minuto.

    Per altre latenze (ad esempio, se si selezionano 15 minuti), Change Data Capture elabora i dati di origine e raccoglie i dati modificati dall'ora dell'ultima elaborazione.

    Screenshot of the options for setting latency.

  18. Dopo aver completato la configurazione di CDC, selezionare Pubblica tutto per pubblicare le modifiche.

    Screenshot of the publish button at the top of the canvas.

    Nota

    Se non si pubblicano le modifiche, non sarà possibile avviare la risorsa CDC. Il pulsante Start nel passaggio successivo non sarà disponibile.

  19. Selezionare Avvia per avviare l'esecuzione dell'acquisizione dei dati delle modifiche.

    Screenshot of the Start button at the top of the canvas.

Ora che Change Data Capture è in esecuzione, è possibile:

  • Usare la pagina di monitoraggio per visualizzare il numero di modifiche (inserimento, aggiornamento o eliminazione) lette e scritte insieme ad altre informazioni di diagnostica.

    Screenshot of the monitoring page of a selected change data capture.

    Screenshot of the monitoring page of a selected change data capture with a detailed view.

  • Verificare che i dati delle modifiche siano arrivati in Delta Lake archiviati in Azure Data Lake Archiviazione Gen2, in formato Delta.

    Screenshot of a target Delta folder.

  • Convalidare lo schema dei dati delle modifiche arrivati.

    Screenshot of a Delta file.

Apportare modifiche a livello di schema dinamico alle tabelle di origine

  1. Aggiungere una nuova colonna PersonalEmail alla tabella di origine usando un'istruzione ALTER TABLE T-SQL, come illustrato nell'esempio seguente.

    Screenshot of the ALTER command in Azure Data Studio.

  2. Verificare che la nuova colonna PersonalEmail venga visualizzata nella tabella esistente.

    Screenshot of a new table design with a column added for personal email.

Convalidare le modifiche dello schema nel sink Delta

Verificare che la nuova colonna PersonalEmail venga visualizzata nel sink Delta. Ora si sa che i dati delle modifiche apportate con le modifiche dello schema sono arrivati alla destinazione.

Screenshot of a Delta file with a schema change.