Change Data Capture in Azure Data Factory e Azure Synapse Analytics

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 .

Questo articolo descrive Change Data Capture (CDC) in Azure Data Factory.

Per altre informazioni, vedere Panoramica di Azure Data Factory o Panoramica di Azure Synapse.

Panoramica

Quando si eseguono processi di integrazione dei dati e ETL nel cloud, i processi possono offrire prestazioni migliori ed essere più efficaci quando si leggono solo i dati di origine modificati dall'ultima esecuzione della pipeline, anziché eseguire sempre query su un intero set di dati in ogni esecuzione. Azure Data Factory offre diversi modi per ottenere facilmente dati differenziali solo dall'ultima esecuzione.

Risorsa di Change Data Capture factory

Il modo più semplice e rapido per iniziare a usare Data Factory con CDC consiste nell'usare la risorsa Change Data Capture a livello di factory. Nella finestra di progettazione della pipeline principale fare clic su Nuovo in Risorse factory per creare una nuova acquisizione dei dati delle modifiche. La risorsa factory CDC offre un'esperienza di configurazione dettagliata in cui è possibile selezionare le origini e le destinazioni, applicare trasformazioni facoltative e quindi fare clic su Avvia per avviare l'acquisizione dei dati. Con la risorsa CDC non è necessario progettare pipeline o attività del flusso di dati. Vengono addebitati anche quattro core dei flussi di dati per utilizzo generico durante l'elaborazione dei dati. È possibile impostare una latenza preferita, che ADF userà per riattivare e cercare i dati modificati. È l'unica volta che verrà fatturata. La risorsa CDC di primo livello è anche il metodo ADF per l'esecuzione continua dei processi. Le pipeline in Azure Data Factory sono solo batch, ma la risorsa CDC può essere eseguita in modo continuo.

Acquisizione dei dati delle modifiche nativa nel flusso di dati di mapping

I dati modificati, inclusi le righe inserite, aggiornate ed eliminate, possono essere rilevati e estratti automaticamente dal flusso di dati di mapping di Azure Data Factory dai database di origine. Non sono necessarie colonne timestamp o ID per identificare le modifiche perché usa la tecnologia di change data capture nativa nei database. Concatenando semplicemente una trasformazione di origine e un riferimento di trasformazione sink a un set di dati di database in un flusso di dati di mapping, è possibile visualizzare le modifiche apportate al database di origine da applicare automaticamente al database di destinazione, in modo da poter sincronizzare facilmente i dati tra due tabelle. È anche possibile aggiungere qualsiasi trasformazione tra per qualsiasi logica di business per elaborare i dati differenziali. Quando si definisce la destinazione dei dati sink, è possibile impostare operazioni di inserimento, aggiornamento, upsert ed eliminazione nel sink senza la necessità di una trasformazione Alter Row perché ADF è in grado di rilevare automaticamente i creatori di righe.

Connettori supportati

Estrazione incrementale automatica nel flusso di dati di mapping

Le righe appena aggiornate o i file aggiornati possono essere rilevati e estratti automaticamente dal flusso di dati di mapping di Azure Data Factory dagli archivi di origine. Quando si desidera ottenere dati differenziali dai database, la colonna incrementale è necessaria per identificare le modifiche. Quando si vogliono caricare nuovi file o file aggiornati solo da un archivio di archiviazione, il flusso di dati di mapping di Azure Data Factory funziona solo tramite l'ora dell'ultima modifica dei file.

Connettori supportati

Estrazione dei dati differenziali gestiti dal cliente nella pipeline

È sempre possibile creare una pipeline di estrazione dati differenziale personalizzata per tutti gli archivi dati supportati da ADF, inclusa l'uso dell'attività di ricerca per ottenere il valore limite archiviato in una tabella di controllo esterna, un'attività di copia o un flusso di dati di mapping per eseguire query sui dati differenziali rispetto alla colonna timestamp o ID e l'attività SP per scrivere nuovamente il nuovo valore limite nella tabella di controllo esterna per l'esecuzione successiva. Quando si desidera caricare nuovi file solo da un archivio di archiviazione, è possibile eliminare i file ogni volta che sono stati spostati correttamente nella destinazione oppure sfruttare il tempo di partizionamento o i nomi di file o l'ora dell'ultima modifica per identificare i nuovi file.

Consigli per iniziare

Change Data Capture dai database

  • L'acquisizione nativa dei dati delle modifiche è sempre consigliata come metodo più semplice per ottenere i dati delle modifiche. Comporta inoltre un carico molto inferiore sul database di origine quando Azure Data Factory estrae i dati delle modifiche per un'ulteriore elaborazione.
  • Se gli archivi di database non fanno parte dell'elenco di connettori di Azure Data Factory con supporto nativo di Change Data Capture, è consigliabile controllare l'opzione di estrazione incrementale automatica in cui è sufficiente immettere una colonna incrementale per acquisire le modifiche. ADF si occuperà del resto, inclusa la creazione di una query dinamica per il caricamento differenziale e la gestione del checkpoint per ogni esecuzione di attività.
  • L'estrazione dei dati differenziali gestiti dal cliente nella pipeline copre tutti i database supportati da ADF e offre la flessibilità necessaria per controllare tutto manualmente.

Modificare l'acquisizione dei file dalle risorse di archiviazione basate su file

  • Quando si vogliono caricare dati da Archiviazione BLOB di Azure, Azure Data Lake Archiviazione Gen2 o Azure Data Lake Archiviazione Gen1, il flusso di dati di mapping offre la possibilità di ottenere file nuovi o aggiornati solo con un semplice clic. È il modo più semplice e consigliato per ottenere il caricamento differenziale da queste risorse di archiviazione basate su file nel flusso di dati di mapping.
  • È possibile ottenere altre procedure consigliate.

Checkpoint

Quando si abilitano le opzioni native di change data capture o di estrazione incrementale automatica nel flusso di dati di mapping di Azure Data Factory, Azure Data Factory consente di gestire il checkpoint per assicurarsi che ogni esecuzione di attività leggerà automaticamente solo i dati di origine modificati dall'ultima esecuzione della pipeline. Per impostazione predefinita, il checkpoint è associato al nome della pipeline e dell'attività. Se si modifica il nome della pipeline o il nome dell'attività, il checkpoint verrà reimpostato, che consente di iniziare dall'inizio o ottenere modifiche da ora nell'esecuzione successiva. Se si vuole modificare il nome o il nome dell'attività della pipeline, ma mantenere comunque il checkpoint per ottenere i dati modificati dall'ultima esecuzione automaticamente, usare la propria chiave checkpoint nell'attività del flusso di dati per ottenere tale risultato. La regola di denominazione della propria chiave del checkpoint è uguale a servizi collegati, set di dati, pipeline e flussi di dati.

Quando si esegue il debug della pipeline, questa funzionalità funziona allo stesso modo. Il checkpoint verrà reimpostato quando si aggiorna il browser durante l'esecuzione del debug. Dopo aver soddisfatto il risultato della pipeline dall'esecuzione di debug, è possibile procedere alla pubblicazione e all'attivazione della pipeline. Al momento della prima attivazione della pipeline pubblicata, la pipeline viene riavviata automaticamente dall'inizio o ottiene le modifiche da ora in poi.

Nella sezione di monitoraggio è sempre possibile eseguire di nuovo una pipeline. Quando si esegue questa operazione, i dati modificati vengono sempre acquisiti dal checkpoint precedente dell'esecuzione della pipeline selezionata.

Esercitazioni

Di seguito sono riportate le esercitazioni per avviare Change Data Capture in Azure Data Factory e Azure Synapse Analytics.

Modelli

Di seguito sono riportati i modelli per usare Change Data Capture in Azure Data Factory e Azure Synapse Analytics.