Wat is Delta Lake?

Delta Lake is de geoptimaliseerde opslaglaag die de basis biedt voor tabellen in een lakehouse op Databricks. Delta Lake is opensource-software die Parquet-gegevensbestanden uitbreidt met een transactielogboek op basis van bestanden voor ACID-transacties en schaalbare verwerking van metagegevens. Delta Lake is volledig compatibel met Apache Spark-API's en is ontwikkeld voor een nauwe integratie met Structured Streaming, zodat u eenvoudig één kopie van gegevens kunt gebruiken voor zowel batch- als streamingbewerkingen en incrementele verwerking op schaal biedt.

Delta Lake is de standaardopslagindeling voor alle bewerkingen in Azure Databricks. Tenzij anders opgegeven, zijn alle tabellen in Azure Databricks Delta-tabellen. Databricks heeft oorspronkelijk het Delta Lake-protocol ontwikkeld en blijft actief bijdragen aan het opensource-project. Veel van de optimalisaties en producten in het Databricks-platform bouwen voort op de garanties van Apache Spark en Delta Lake. Zie De aanbevelingen voor optimalisatie in Azure Databricks voor meer informatie over optimalisaties in Azure Databricks.

Zie Delta Lake-instructies voor naslaginformatie over Delta Lake SQL-opdrachten.

Het Delta Lake-transactielogboek heeft een goed gedefinieerd open protocol dat door elk systeem kan worden gebruikt om het logboek te lezen. Zie Delta Transaction Log Protocol.

Aan de slag met Delta Lake

Alle tabellen in Azure Databricks zijn standaard Delta-tabellen. Of u nu Apache Spark DataFrames of SQL gebruikt, u krijgt alle voordelen van Delta Lake door uw gegevens op te slaan in lakehouse met standaardinstellingen.

Zie Zelfstudie: Delta Lake voor voorbeelden van eenvoudige Delta Lake-bewerkingen, zoals het maken van tabellen, het lezen, schrijven en bijwerken van gegevens.

Databricks heeft veel aanbevelingen voor best practices voor Delta Lake.

Gegevens converteren en opnemen naar Delta Lake

Azure Databricks biedt een aantal producten om het laden van gegevens naar uw lakehouse te versnellen en te vereenvoudigen.

Zie Gegevens opnemen in een Databricks Lakehouse voor een volledige lijst met opnameopties.

Delta Lake-tabellen bijwerken en wijzigen

Atomische transacties met Delta Lake bieden veel opties voor het bijwerken van gegevens en metagegevens. Databricks raadt u aan om te voorkomen dat u rechtstreeks communiceert met gegevens- en transactielogboekbestanden in Delta Lake-bestandsmappen om te voorkomen dat uw tabellen beschadigd raken.

Incrementele en streamingworkloads in Delta Lake

Delta Lake is geoptimaliseerd voor gestructureerd streamen in Azure Databricks. Delta Live Tables breidt systeemeigen mogelijkheden uit met vereenvoudigde infrastructuurimplementatie, verbeterde schaalaanpassing en afhankelijkheden van beheerde gegevens.

Query's uitvoeren op eerdere versies van een tabel

Elke schrijfbewerking naar een Delta-tabel maakt een nieuwe tabelversie. U kunt het transactielogboek gebruiken om wijzigingen in uw tabel te bekijken en query's uit te voeren op eerdere tabelversies. Raadpleeg Werken met de tabelgeschiedenis van Delta Lake.

Verbeteringen in Delta Lake-schema

Delta Lake valideert het schema voor schrijven, zodat alle gegevens die naar een tabel zijn geschreven, overeenkomen met de vereisten die u hebt ingesteld.

Bestanden beheren en gegevens indexeren met Delta Lake

Azure Databricks stelt veel standaardparameters in voor Delta Lake die van invloed zijn op de grootte van gegevensbestanden en het aantal tabelversies dat in de geschiedenis wordt bewaard. Delta Lake maakt gebruik van een combinatie van metagegevensparsering en fysieke gegevensindeling om het aantal gescande bestanden te verminderen om te voldoen aan een query.

Delta Lake-instellingen configureren en controleren

Azure Databricks slaat alle gegevens en metagegevens voor Delta Lake-tabellen op in de opslag van cloudobjecten. Veel configuraties kunnen worden ingesteld op tabelniveau of in de Spark-sessie. U kunt de details van de Delta-tabel bekijken om te ontdekken welke opties zijn geconfigureerd.

Gegevenspijplijnen met Delta Lake en Delta Live Tables

Azure Databricks moedigt gebruikers aan om een medalsight-architectuur te gebruiken om gegevens te verwerken via een reeks tabellen wanneer gegevens worden opgeschoond en verrijkt. Delta Live Tables vereenvoudigt ETL-workloads door geoptimaliseerde uitvoering en geautomatiseerde infrastructuurimplementatie en schaalaanpassing.

Compatibiliteit van Delta Lake-functies

Niet alle Delta Lake-functies bevinden zich in alle versies van Databricks Runtime. Zie Hoe beheert Azure Databricks de compatibiliteit van Delta Lake-functies voor meer informatie over delta lake-versiebeheer.

Documentatie voor Delta Lake API

Voor de meeste lees- en schrijfbewerkingen in Delta-tabellen kunt u Spark SQL- of Apache Spark DataFrame-API's gebruiken.

Zie Delta Lake-instructies voor SQL-instructies voor Delta Lake- spefic.

Azure Databricks zorgt voor binaire compatibiliteit met Delta Lake-API's in Databricks Runtime. Als u de Delta Lake API-versie wilt bekijken die in elke Databricks Runtime-versie is verpakt, raadpleegt u de sectie Systeemomgeving in het relevante artikel in de releaseopmerkingen van Databricks Runtime. Zie de OSS Delta Lake-documentatie voor documentatie over Delta Lake-API's voor Python, Scala en Java.