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 standaardindeling 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.
- Delta Live Tables:
- COPY INTO
- Automatisch laden
- Gegevensgebruikersinterface toevoegen
- Parquet- of Iceberg-gegevens incrementeel converteren naar Delta Lake
- Eenmalige conversie van Parquet- of Iceberg-gegevens naar Delta Lake
- Partners van derden
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.
- Delta Lake ondersteunt upserts met behulp van de samenvoegbewerking. Zie Upsert in een Delta Lake-tabel met behulp van samenvoegen.
- Delta Lake biedt talloze opties voor selectieve overschrijven op basis van filters en partities. Zie Selectief gegevens overschrijven met Delta Lake.
- U kunt het tabelschema handmatig of automatisch bijwerken zonder gegevens te herschrijven. Zie Delta Lake-tabelschema bijwerken.
- Schakel de toewijzing van kolommen in om kolommen te hernoemen of verwijderen zonder gegevens te herschrijven. Zie De naam van kolommen wijzigen en neerzetten met delta lake-kolomtoewijzing.
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.
- Lees- en schrijfbewerkingen voor Delta-tabellen
- Delta Lake-wijzigingenfeed gebruiken in Azure Databricks
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.
- Schema afdwingen
- Beperkingen voor Azure Databricks
- Door Delta Lake gegenereerde kolommen
- Delta Lake-tabellen verrijken met aangepaste metagegevens
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.
- Liquid clustering gebruiken voor Delta-tabellen
- Gegevens overslaan voor Delta Lake
- Indeling van gegevensbestand optimaliseren
- Ongebruikte gegevensbestanden verwijderen met vacuüm
- Delta Lake configureren voor het beheren van de bestandsgrootte
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.
- Details van Delta Lake-tabel bekijken met een beschrijving
- Naslaginformatie over eigenschappen van Delta-tabellen
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 specifieke SQL-instructies voor Delta Lake.
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.