Esportare i dati Dataverse in formato Delta Lake
Usa Azure Synapse Link for Dataverse per esportare i dati Microsoft Dataverse in Azure Synapse Analytics in formato Delta Lake. Quindi esplora i tuoi dati e accelera i tempi dei dati analitici. Questo articolo fornisce le seguenti informazioni e mostra come eseguire le seguenti attività:
- Spiega Delta Lake e Parquet e perché dovresti esportare i dati in questo formato.
- Esporta i dati Dataverse in Azure Synapse Analytics workspace in formato Delta Lake con Azure Synapse Link.
- Monitora Azure Synapse Link e la conversione dei dati.
- Visualizzare i dati da Azure Data Lake Storage Gen2.
- Visualizza i tuoi dati da Synapse Workspace.
Importante
- Se stai eseguendo l'aggiornamento da CSV a Delta Lake con visualizzazioni personalizzate esistenti, ti consigliamo di aggiornare lo script per sostituire tutte le tabelle partitioned in non_partitioned. Fallo cercando le istanze di
_partitioned
e sostituiscile con una stringa vuota. - Per la configurazione Dataverse, append-only è abilitato per impostazione predefinita per esportare i dati CSV in modalità
appendonly
. Ma la tabella delta lake avrà una struttura di aggiornamento sul posto perché la conversione delta lake viene fornita con un processo di unione periodico. - Non ci sono costi sostenuti per la creazione di pool Spark. Gli addebiti vengono addebitati solo dopo l'esecuzione di un processo Spark nel pool Spark di destinazione e l'istanza di Spark viene creata su richiesta. Questi costi sono correlati all'utilizzo di Azure Synapse workspace Spark e vengono fatturati mensilmente. Il costo dell'esecuzione dell'elaborazione Spark dipende principalmente dall'intervallo di tempo per l'aggiornamento incrementale e dai volumi di dati. Ulteriori informazioni: Prezzi di Azure Synapse Analytics
- È importante prendere in considerazione questi costi aggiuntivi quando si decide di utilizzare questa funzionalità in quanto non sono facoltativi e devono essere pagati per continuare a utilizzare questa funzione.
- L'annuncio di fine del ciclo di vita (EOLA) per il runtime di Azure Synapse per Apache Spark 3.1 è stato proclamato il 26 gennaio 2023. In conformità ai criteri del ciclo di vita del runtime Synapse per Apache Spark, il runtime di Azure Synapse per Apache Spark 3.1 verrà ritirato e disabilitato a partire dal 26 gennaio 2024. Dopo la data di EOL, i runtime ritirati non sono disponibili per i nuovi pool Spark e i flussi di lavoro esistenti non possono essere eseguiti. I metadati rimarranno temporaneamente nell'area di lavoro Synapse. Ulteriori informazioni: Runtime Azure Synapse per Apache Spark 3.1 (EOLA). Per avere il tuo Collegamento a Synapse per Dataverse con l'aggiornamento del formato di esportazione al delta Lake a Spark 3.3, esegui un aggiornamento sul posto per i tuoi profili esistenti. Ulteriori informazioni: Aggiornamento sul posto ad Apache Spark 3.3 con Delta Lake 2.2
- A partire dal 4 gennaio 2024, al momento della creazione iniziale del collegamento sarà supportata solo la versione 3.3 di Spark Pool.
Nota
Lo stato di Azure Synapse Link in Power Apps (make.powerapps.com) riflette lo stato di conversione del delta lake:
Count
mostra il numero totale di record della tabella data lake.Last synchronized on
Datetime rappresenta il timestamp dell'ultima conversione riuscita.Sync status
viene visualizzato come attivo una volta completata la sincronizzazione dei dati e la conversione delta lake, indicando che i dati sono pronti per l'utilizzo.
Perché Delta Lake?
Delta Lake è un progetto open source che consente di costruire un'architettura Lakehouse sopra i data lake. Delta Lake fornisce transazioni ACID (atomicità, coerenza, isolamento e durabilità), gestione scalabile dei metadati e unifica l'elaborazione dei dati in streaming e in batch sui data lake esistenti. Azure Synapse Analytics è compatibile con Linux Foundation Delta Lake. L'attuale versione di Delta Lake inclusa con Azure Synapse ha il supporto linguistico per Scala, PySpark e .NET. Altre informazioni: Che cos'è Delta Lake?. Puoi anche saperne di più dal Video introduttivo alle tabelle Delta.
Apache Parquet è il formato di base per Delta Lake, che consente di sfruttare gli efficienti schemi di compressione e codifica nativi del formato. Il formato file Parquet utilizza la compressione per colonna. È efficiente e consente di risparmiare spazio di archiviazione. Le query che recuperano valori di colonna specifici non devono leggere i dati dell'intera riga, migliorando così le prestazioni. Pertanto, il pool SQL senza server richiede meno tempo e meno richieste di archiviazione per leggere i dati.
Perché usare Delta Lake?
- Scalabilità: Delta Lake si basa sulla licenza Apache open source, progettata per soddisfare gli standard del settore per la gestione di carichi di lavoro di elaborazione dati su larga scala.
- Affidabilità: Delta Lake fornisce transazioni ACID, garantendo coerenza e affidabilità dei dati anche in caso di guasti o accessi simultanei.
- Prestazioni: Delta Lake sfrutta il formato di archiviazione a colonne di Parquet, fornendo migliori tecniche di compressione e codifica, che possono portare a prestazioni di query migliori rispetto ai file CSV di query.
- Conveniente: il formato di file Delta Lake è una tecnologia di archiviazione dei dati altamente compressi che offre notevoli risparmi potenziali di archiviazione per le aziende. Questo formato è specificamente progettato per ottimizzare l'elaborazione dei dati e ridurre potenzialmente la quantità totale di dati elaborati o il tempo di esecuzione richiesto per l'elaborazione su richiesta.
- Conformità alla protezione dei dati: Delta Lake con Azure Synapse Link fornisce strumenti e funzionalità tra cui l'eliminazione temporanea e l'eliminazione definitiva per conformarsi a varie normative sulla privacy dei dati, incluso il Regolamento generale sulla protezione dei dati (GDPR).
Funzionamento di Delta Lake con Azure Synapse Link for Dataverse?
Quando si imposta un Azure Synapse Link for Dataverse, puoi abilitare la funzionalità Esporta in Delta Lake e connettiti con Synapse workspace e pool Spark. Azure Synapse Link esporta le tabelle Dataverse selezionate in formato CSV a intervalli di tempo designati, elaborandole tramite un processo Spark di conversione Delta Lake. Al completamento di questo processo di conversione, i dati CSV vengono ripuliti per il salvataggio in memoria. Inoltre, una serie di lavori di manutenzione è programmata per essere eseguita su base giornaliera, eseguendo automaticamente processi di compattazione e rimozione dei dati per unire e ripulire i file di dati per ottimizzare ulteriormente l'archiviazione e migliorare le prestazioni delle query.
Prerequisiti
- Dataverse: èè necessario disporre del ruolo di sicurezza di amministratore di sistema Dataverse. Inoltre, le tabelle che desideri esportare tramite Azure Synapse Link devono avere la proprietà Traccia modifiche abilitata. Altre informazioni: Opzioni avanzate
- Azure Data Lake Storage Gen2: devi avere un account Azure Data Lake Storage Gen2 e accedere con il ruolo Proprietario e Collaboratore dati BLOB di archiviazione. Il tuo account di archiviazione deve abilitare Spazio dei nomi gerarchico e accesso alla rete pubblica sia per la configurazione iniziale che per la sincronizzazione delta. Consenti l'accesso alla chiave dell'account di archiviazione è necessario solo per la configurazione iniziale.
- Area di lavoro Synapse: devi avere un'area di lavoro Synapse e il ruolo Proprietario nel controllo degli accessi (IAM) e l'accesso al ruolo Amministratore Synapse in Synapse Studio. L'area di lavoro Synapse deve trovarsi nella stessa area geografica del tuo accocunt Azure Data Lake Storage Gen2. L'account di archiviazione deve essere aggiunto come servizio collegato all'interno di Synapse Studio. Per creare un'area di lavoro Synapse, vai a Creazione di un'area di lavoro Synapse.
- Un pool nell'area di lavoro connessa con la versione 3.3 che utilizza questa configurazione consigliata per il pool Spark Apache Spark . Azure Synapse Apache Spark ... Per informazioni su come creare un pool di Spark, vai a Crea nuovo pool Apache Spark.
- Il requisito della versione minima di Microsoft Dynamics 365 per utilizzare questa funzione è 9.2.22082. Ulteriori informazioni: Acconsentire esplicitamente agli aggiornamenti con accesso in anteprima
Configurazione pool Spark consigliata
Questa configurazione può essere considerata nel passaggio bootstrap per casi d'uso medi.
- Dimensioni del nodo: piccolo (4 vCore/32 GB)
- Scalabilità automatica: abilitata
- Numero di nodi: da 5 a 10
- Sospensione automatica: abilitata
- Numero di minuti di inattività: 5
- Apache Spark: 3.3
- Assegna dinamicamente gli esecutori: abilitato
- Numero predefinito di esecutori: da 1 a 9
Importante
Utilizzare il pool Spark esclusivamente per le operazioni di conversazione Delta Lake con Synapse collegare Dataverse. Per ottenere affidabilità e prestazioni ottimali, evitare di eseguire altri processi Spark utilizzando lo stesso pool Spark.
Connettiti a Dataverse all'area di lavoro Synapse ed esporta i dati in formato Delta Lake
Accedi a Power Apps e seleziona l'ambiente che desideri.
Nel riquadro di spostamento sinistro seleziona Azure Synapse Link. Se l'elemento non si trova nel riquadro del pannello laterale, seleziona …Altro, quindi l'elemento desiderato.
Nella barra dei comandi, seleziona + Nuovo collegamento
Seleziona Connessione ad Azure Synapse Analytics workspace, quindi seleziona Abbonamento, Gruppo di risorse e Nome dell'area di lavoro.
Seleziona Utilizza pool di Spark per l'elaborazione, quindi seleziona pool di Spark precreato e Account di archiviazione.
Selezionare Avanti.
Aggiungi le tabelle che desideri esportare, quindi seleziona Avanzate.
Opzionalmente, seleziona Mostra impostazioni di configurazione avanzate e immetti l'intervallo di tempo, in minuti, per la frequenza di acquisizione degli aggiornamenti incrementali.
Seleziona Salva.
Monitora Azure Synapse Link e la conversione dei dati
- Seleziona il collegamento Azure Synapse Link desiderato, quindi seleziona Vai all'area di lavoro Azure Synapse Analytics sulla barra dei comandi.
- Seleziona Monitoraggio > Applicazioni Apache Spark. Ulteriori informazioni: Utilizza Synapse Studio per monitorare le tue applicazioni Apache Spark
Visualizza i tuoi dati dall'area di lavoro Synapse
- Seleziona il collegamento Azure Synapse Link desiderato, quindi seleziona Vai all'area di lavoro Azure Synapse Analytics sulla barra dei comandi.
- Espandi Database di Data Lake sul riquadro a sinistra, seleziona dataverse-environmentNameorganizationUniqueName, quindi espandi Tabelle. Tutte le tabelle Parquet sono elencate e disponibili per l'analisi con la convenzione di denominazione DataverseTableName. (Tabella non_partizionata).
Nota
Non utilizzare tabelle con la convenzione di denominazione _partitioned. Quando scegli Delta parquet come formato, le tabelle con la convenzione di denominazione _partition vengono utilizzate come tabelle di staging e rimosse dopo essere state utilizzate dal sistema.
Visualizzare i dati da Azure Data Lake Storage Gen2
- Seleziona l'Azure Synapse Link desiderato, quindi seleziona Vai ad Azure Data Lake sulla barra dei comandi.
- Seleziona i Contenitori in Archivio dati.
- Selezionare *dataverse- *environmentName-organizationUniqueName. Tutti i file Parquet sono memorizzati nella cartella deltalake.
Aggiornamento sul posto ad Apache Spark 3.3 con Delta Lake 2.2
Prerequisiti
- È necessario disporre di un profilo delta lake Azure Synapse Link for Dataverse esistente in esecuzione con una versione Synapse Spark 3.1.
- È necessario creare un nuovo pool Synapse Spark con Spark versione 3.3, utilizzando la stessa configurazione hardware dei nodi o una versione successiva all'interno della stessa area di lavoro Synapse. Per informazioni su come creare un pool di Spark, vai a Crea nuovo pool Apache Spark. Questo pool Spark deve essere creato indipendentemente dal pool 3.1 corrente.
Aggiornamento sul posto a Spark 3.3:
- Accedi a Power Apps e seleziona l'ambiente preferito.
- Nel riquadro di spostamento sinistro seleziona Azure Synapse Link. Se l'elemento non si trova nel riquadro di navigazione a sinistra, seleziona …Altro, quindi l'elemento desiderato.
- Apri il profilo Azure Synapse Link, quindi seleziona Esegui l'upgrade ad Apache Spark 3.3 con Delta Lake 2.2.
- Seleziona il pool Spark disponibile dall'elenco e quindi seleziona Aggiorna.
Nota
L'aggiornamento del pool Spark avviene solo quando viene attivato un nuovo processo Spark di conversione Delta Lake. Assicurati di avere almeno una modifica ai dati dopo la selezione Aggiornamento.