Che cosa sono tutte le cose Delta in Azure Databricks?
Questo articolo è un'introduzione alle tecnologie personalizzate collettivamente Delta in Azure Databricks. Delta fa riferimento alle tecnologie correlate a o nel progetto open source Delta Lake.
Questo articolo risponde:
- Quali sono le tecnologie Delta in Azure Databricks?
- Cosa fanno? O per cosa vengono usati?
- In che modo sono correlati e distinti l'uno dall'altro?
Quali sono le cose delta usate per?
Delta è un termine introdotto con Delta Lake, la base per l'archiviazione di dati e tabelle nel lakehouse di Databricks. Delta Lake è stato concepito come un sistema di gestione dei dati unificato per la gestione di Big Data transazionali in tempo reale e batch, estendendo i file di dati Parquet con un log delle transazioni basato su file per le transazioni ACID e la gestione scalabile dei metadati.
Delta Lake: gestione dei dati del sistema operativo per il lakehouse
Delta Lake è un livello di archiviazione open source che offre affidabilità ai data lake aggiungendo un livello di archiviazione transazionale sui dati archiviati nell'archiviazione cloud (in AWS S3, Archiviazione di Azure e GCS). Consente transazioni ACID, controllo delle versioni dei dati e funzionalità di rollback. Consente di gestire i dati batch e di streaming in modo unificato.
Le tabelle delta si basano su questo livello di archiviazione e forniscono un'astrazione di tabella, semplificando l'uso di dati strutturati su larga scala usando SQL e l'API DataFrame.
Tabelle delta: architettura predefinita della tabella dati
La tabella Delta è il formato predefinito della tabella dati in Azure Databricks ed è una funzionalità del framework dati open source Delta Lake. Le tabelle delta vengono in genere usate per data lake, in cui i dati vengono inseriti tramite streaming o in batch di grandi dimensioni.
Vedere:
- Guida introduttiva a Delta Lake: Creare una tabella
- Aggiornamento e modifica delle tabelle Delta Lake.
- Classe DeltaTable: classe main per interagire a livello di codice con le tabelle Delta.
Tabelle live delta: pipeline di dati
Le tabelle live Delta gestiscono il flusso di dati tra molte tabelle Delta, semplificando così il lavoro dei data engineer sullo sviluppo e la gestione ETL. La pipeline è l'unità principale di esecuzione per le tabelle live Delta. Le tabelle live delta offrono sviluppo di pipeline dichiarative, maggiore affidabilità dei dati e operazioni di produzione su scala cloud. Gli utenti possono eseguire operazioni batch e di streaming nella stessa tabella e i dati sono immediatamente disponibili per l'esecuzione di query. È possibile definire le trasformazioni da eseguire sui dati e Le tabelle live Delta gestiscono l'orchestrazione delle attività, la gestione del cluster, il monitoraggio, la qualità dei dati e la gestione degli errori. La scalabilità automatica avanzata delle tabelle live delta può gestire i carichi di lavoro di streaming che sono spiky e imprevedibili.
Vedere l'esercitazione sulle tabelle live delta.
Tabelle delta e tabelle live delta
La tabella Delta è un modo per archiviare i dati nelle tabelle, mentre le tabelle Live Delta consentono di descrivere in modo dichiarativo i flussi di dati tra queste tabelle. Le tabelle live delta sono un framework dichiarativo che gestisce molte tabelle differenziali, creandole e mantenendole aggiornate. In breve, le tabelle Delta sono un'architettura di tabella dati, mentre Le tabelle live Delta sono un framework della pipeline di dati.
Delta: Open source o proprietario?
Un punto di forza della piattaforma Azure Databricks è che non blocca i clienti in strumenti proprietari: gran parte della tecnologia è basata su progetti open source, a cui Azure Databricks contribuisce.
I progetti Delta OSS sono esempi:
- Progetto Delta Lake: archiviazione open source per una lakehouse.
- Protocollo di condivisione differenziale: protocollo aperto per la condivisione sicura dei dati.
Delta Live Tables è un framework proprietario in Azure Databricks.
Quali sono le altre cose Delta in Azure Databricks?
Di seguito sono riportate le descrizioni di altre funzionalità che includono Delta nel nome.
Condivisione differenziale
Uno standard aperto per la condivisione sicura dei dati, la condivisione differenziale consente la condivisione dei dati tra organizzazioni indipendentemente dalla piattaforma di calcolo.
Motore Delta
Query Optimizer per Big Data che usa la tecnologia open source Delta Lake inclusa in Databricks. Il motore Delta ottimizza le prestazioni delle operazioni Spark SQL, Databricks SQL e DataFrame eseguendo il push del calcolo ai dati.
Log delle transazioni Delta Lake (AKA DeltaLogs)
Una singola fonte di verità che monitora tutte le modifiche apportate dagli utenti alla tabella e il meccanismo attraverso il quale Delta Lake garantisce l'atomicità. Vedere il protocollo del log delle transazioni Delta in GitHub.
Il log delle transazioni è fondamentale per comprendere Delta Lake, perché è il thread comune che esegue molte delle funzionalità più importanti:
- Transazioni ACID
- Gestione scalabile dei metadati
- Tempo di viaggio
- E altro ancora.