Condividi tramite


Perché Delta Lake?

Delta Lake è il livello di archiviazione ottimizzato che fornisce le basi per tables in un lakehouse su 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, tutti i tables su Azure Databricks sono Delta tables. 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

Tutte le tables in Azure Databricks sono Delta tables per impostazione predefinita. Indipendentemente dal fatto che si usi Apache Spark dataframe o SQL, è get 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 tables, la lettura, la scrittura e l'aggiornamento dei dati, vedere Esercitazione: Delta Lake.

Databricks offre molte raccomandazioni per le procedure consigliate per Delta Lake.

Conversione e inserimento di dati in Delta Lake

Azure Databricks offre numerosi prodotti per accelerare e semplificare il caricamento dei dati nel lakehouse.

Per un'list completa delle opzioni di inserimento, vedere Inserire dati in una databricks lakehouse.

Aggiornamento e modifica di Delta Lake tables

Le transazioni atomiche con Delta Lake offrono molte opzioni per l'aggiornamento di dati e metadati. Databricks consiglia di evitare di interagire direttamente con i file di dati e di log delle transazioni nelle directory dei file Delta Lake per evitare di danneggiare il tables.

Carichi di lavoro incrementali e di streaming in Delta Lake

Delta Lake è ottimizzato per lo streaming strutturato in Azure Databricks. Delta Live Tables amplia le funzionalità native con un'infrastruttura semplificata, un miglioramento nel ridimensionamento e una gestione delle dipendenze dei dati.

Esecuzione di query su versioni precedenti di un table

Ogni scrittura su un Delta table crea una nuova versione table. È possibile usare il log delle transazioni per esaminare le modifiche apportate alle table ed eseguire una query sulle table versioni precedenti. Vedi lavorare con la cronologia di Delta Lake table.

Miglioramenti di Delta Lake schema

Delta Lake convalida schema in scrittura, assicurandosi che tutti i dati scritti in un table corrispondano ai requisiti set.

Gestione di file e indicizzazione dei dati con Delta Lake

Azure Databricks imposta molte parameters predefinite per Delta Lake che influiscono sulle dimensioni dei file di dati e sul numero di versioni table 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.

Configurazione e revisione delle impostazioni di Delta Lake

Azure Databricks archivia tutti i dati e i metadati per Delta Lake tables nell'archiviazione di oggetti cloud. Molte configurazioni possono essere set sia a livello di table che all'interno della sessione Spark. È possibile esaminare i dettagli del Delta table per scoprire quali opzioni sono configurate.

Pipeline di dati che usano Delta Lake e Delta Live Tables

Azure Databricks incoraggia gli utenti a sfruttare un'architettura medallion per elaborare i dati tramite una serie di tables man mano che i dati vengono puliti e arricchiti. Delta Live Tables semplifica i carichi di lavoro ETL tramite l'esecuzione ottimizzata e la scalabilità automatizzata 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 How does Azure Databricks manage Delta Lake feature compatibility?.

Documentazione dell'API Delta Lake

Per la maggior parte delle operazioni di lettura e scrittura in Delta tables, è possibile usare Spark SQL o le API di DataFrame di Apache Spark .

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.