Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Delta Lake è il livello di archiviazione ottimizzato che serve come base per le tabelle in un lakehouse di Databricks. Delta Lake è un software open source che estende 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 è completamente compatibile con le API Apache Spark ed è stato sviluppato per una stretta integrazione con Structured Streaming, consentendo di usare facilmente una singola copia di dati per operazioni batch e di streaming e fornendo l'elaborazione incrementale su larga scala.
Delta Lake è il formato predefinito per tutte le operazioni in Azure Databricks. Se non diversamente specificato, tutte le tabelle in Azure Databricks sono tabelle Delta Lake. Databricks ha originariamente sviluppato il protocollo Delta Lake e continua a contribuire attivamente al progetto open source. Molte delle ottimizzazioni e dei prodotti nella piattaforma Databricks si basano sulle garanzie fornite da Apache Spark e Delta Lake. Per informazioni sulle ottimizzazioni in Azure Databricks, vedere Raccomandazioni sull'ottimizzazione in Azure Databricks.
Per informazioni di riferimento sui comandi di Delta Lake SQL, vedere Istruzioni Delta Lake.
Il log delle transazioni Delta Lake ha un protocollo aperto ben definito che può essere usato da qualsiasi sistema per leggere il log. Vedere Protocollo del log delle transazioni delta.
Introduzione a Delta Lake
Per impostazione predefinita, tutte le tabelle in Azure Databricks sono tabelle Delta Lake. Indipendentemente dal fatto che si usino dataframe Apache Spark o SQL, si ottengono tutti i vantaggi di Delta Lake salvando i dati nel lakehouse con le impostazioni predefinite.
Per esempi di operazioni Delta Lake di base, ad esempio la creazione di tabelle, la lettura, la scrittura e l'aggiornamento dei dati, vedere Esercitazione: Creare e gestire tabelle Delta Lake.
Per consigli e procedure consigliate su Databricks sull'uso di Delta Lake, vedere Procedure consigliate: Delta Lake.
Conversione e inserimento di dati in Delta Lake
Azure Databricks offre molte funzionalità per accelerare e semplificare il caricamento dei dati nel lakehouse.
| Metodo | Descrzione |
|---|---|
| Tutorial: Creazione di una pipeline ETL con Lakeflow pipelines | Crea una pipeline ETL completa con le pipeline Lakeflow. |
| Configurare l'inserimento incrementale da Azure Data Lake Storage | Configurare l'acquisizione incrementale dall'archiviazione cloud usando Auto Loader e le pipeline di Lakeflow. |
| tabelle di streaming | Usare le tabelle di streaming per l'acquisizione solo in append e lo streaming a bassa latenza nelle pipeline Lakeflow. |
| Introduzione all'uso di COPY INTO per caricare i dati | Carica i dati in modo incrementale e idempotente da un archivio cloud tramite SQL. |
| Che cos'è il caricatore automatico? | Inserire i file dall'archiviazione cloud in modo incrementale man mano che arrivano. |
| Creare o modificare una tabella usando il caricamento di file | Caricare file e creare tabelle dall'interfaccia utente Azure Databricks. |
| Clonazione incrementale di tabelle Parquet e Apache Iceberg in Delta Lake | Clonare in modo incrementale le tabelle Parquet o Apache Iceberg in Delta Lake. |
| Converti in Delta Lake | Conversione una tantum delle tabelle Parquet o Apache Iceberg in Delta Lake. |
| Partner tecnologici | Connettere partner e strumenti di terze parti alla Azure Databricks lakehouse. |
Per un elenco completo delle opzioni di inserimento, vedere Connettori Standard in Lakeflow Connect.
Aggiornamento e modifica delle tabelle Delta Lake
Le transazioni atomiche con Delta Lake consentono di usare molte opzioni per l'aggiornamento di dati e metadati. Per evitare di danneggiare le tabelle, Databricks consiglia di evitare di interagire direttamente con i file di dati e di log delle transazioni nelle directory dei file Delta Lake.
| Operation | Descrzione |
|---|---|
| Eseguire l'upsert in una tabella di Delta Lake usando MERGE | Esegui l'upsert dei dati in una tabella Delta Lake mediante l'operazione MERGE. |
| Sovrascrivere in modo selettivo i dati con Delta Lake | Sovrascrivere subset di dati in base a filtri e partizioni. |
| Aggiornare gli schemi di tabella con l'evoluzione dello schema | Aggiornare manualmente o automaticamente lo schema della tabella senza riscrivere i dati. |
| Rinominare e rimuovere colonne con il mapping di colonne in Delta Lake | Rinominare o eliminare colonne senza riscrivere i dati. |
Carichi di lavoro incrementali e di streaming in Delta Lake
Delta Lake è ottimizzato per lo streaming strutturato in Azure Databricks. Le pipeline di Lakeflow estendono le funzionalità predefinite con la distribuzione semplificata dell'infrastruttura, il ridimensionamento avanzato e le dipendenze dei dati gestite.
| Feature | Descrzione |
|---|---|
| Letture e scritture in streaming delle tabelle Delta Lake | Usa le tabelle Delta Lake come origini e destinazioni per Structured Streaming con readStream e writeStream. |
| Usare il feed delle modifiche dei dati in Azure Databricks | Tenere traccia delle modifiche a livello di riga tra le versioni di una tabella Delta Lake o Apache Iceberg v3. |
Esecuzione di query su versioni precedenti di una tabella
Ogni scrittura in una tabella Delta Lake crea una nuova versione della tabella. È possibile usare il log delle transazioni per esaminare le modifiche apportate alla tabella ed eseguire query sulle versioni precedenti della tabella. Vedere Usare la cronologia delle tabelle.
Miglioramenti dello schema Delta Lake
Delta Lake convalida lo schema in scrittura, assicurandosi che tutti i dati scritti in una tabella corrispondano ai requisiti impostati.
| Feature | Descrzione |
|---|---|
| implementazione dello schema | Convalidare la qualità dei dati applicando lo schema in scrittura. |
| Vincoli su Azure Databricks | Applicare vincoli di integrità applicati e chiave primaria informativa, chiave esterna e vincoli univoci. |
| colonne generate da Delta Lake | Generare automaticamente valori di colonna usando le funzioni specificate dall'utente. |
| Arricchire le tabelle con metadati personalizzati | Aggiungere commenti e metadati personalizzati a tabelle e colonne per arricchire l'individuazione dei dati. |
Gestione di file e indicizzazione dei dati con Delta Lake
Azure Databricks imposta molti parametri predefiniti per Delta Lake che influiscono sulle dimensioni dei file di dati e sul numero di versioni di tabella mantenute nella cronologia. Delta Lake usa una combinazione di analisi dei metadati e layout di dati fisici per ridurre il numero di file analizzati per soddisfare qualsiasi query.
| Feature | Descrzione |
|---|---|
| Usare il clustering liquido per le tabelle | Semplificare il layout dei dati e ottimizzare le prestazioni delle query senza partizionare usando il clustering liquido. |
| Saltare dati | Ignorare i file irrilevanti in fase di query usando le statistiche delle colonne, l'ordine Z e il layout dei dati ottimizzato. |
| Ottimizzare il layout dei file di dati | Compattare file di dati di piccole dimensioni per migliorare le prestazioni delle query. |
| Rimuovi i file di dati inutilizzati con vacuum | Rimuovere i file di dati non aggiornati per ridurre i costi di archiviazione. |
| Eliminazione automatica delle righe con durata automatica | Eliminare automaticamente le righe dalle tabelle gestite dopo un periodo di tempo configurabile. |
| Controllare le dimensioni del file di dati | Controllare le dimensioni del file di destinazione manualmente o abilitare l'ottimizzazione automatica delle dimensioni dei file. |
Configurazione e revisione delle impostazioni di Delta Lake
Azure Databricks archivia tutti i dati e i metadati per le tabelle Delta Lake nell'archiviazione di oggetti cloud. Molte configurazioni possono essere impostate a livello di tabella o all'interno della sessione Spark. È possibile esaminare i dettagli della tabella Delta Lake per individuare le opzioni configurate.
| Feature | Descrzione |
|---|---|
| Esaminare i dettagli della tabella con describe detail | Visualizzare le configurazioni e i metadati della tabella usando il DESCRIBE DETAIL comando . |
| Informazioni di riferimento sulle proprietà della tabella | Elenco di riferimento delle proprietà della tabella disponibili per le tabelle Delta Lake. |
Pipeline di dati che usano pipeline Delta Lake e Lakeflow
Azure Databricks incoraggia gli utenti a sfruttare un'architettura medallion per elaborare i dati tramite una serie di tabelle man mano che i dati vengono puliti e arricchiti. Le pipeline di Lakeflow semplificano i carichi di lavoro ETL tramite l'esecuzione ottimizzata e la distribuzione e il ridimensionamento automatizzati dell'infrastruttura.
Compatibilità delle funzionalità delta Lake
Non tutte le funzionalità delta Lake si trovano in tutte le versioni di Databricks Runtime. Per informazioni sul controllo delle versioni di Delta Lake, vedere Compatibilità e protocolli delle funzionalità Delta Lake.
Documentazione dell'API Delta Lake
Per la maggior parte delle operazioni di lettura e scrittura nelle tabelle Delta Lake, è possibile usare LE API Spark SQL o Apache Spark DataFrame .
Per istruzioni SQL specifiche di Delta Lake, vedere Istruzioni Delta Lake.
Azure Databricks garantisce la compatibilità binaria con le API Delta Lake in Databricks Runtime. Per visualizzare la versione dell'API Delta Lake in pacchetto in ogni versione di Databricks Runtime, vedere la sezione Ambiente di sistema nell'articolo pertinente nelle note sulla versione di Databricks Runtime. Per la documentazione sulle API Delta Lake per Python, Scala e Java, vedere la documentazione di OSS Delta Lake.