Delta Lake ist die optimierte Speicherschicht, welche die Grundlage für Tabellen in einem Lakehouse auf Databricks bietet. Delta Lake ist Open-Source-Software, die Parquet-Datendateien mit einem dateibasierten Transaktionsprotokoll für ACID-Transaktionen und skalierbarer Metadatenverarbeitung erweitert. Delta Lake ist vollständig kompatibel mit Apache Spark-APIs und wurde für eine enge Integration mit Structured Streaming entwickelt. So können Sie problemlos eine einzige Kopie der Daten sowohl für Batch- als auch für Streamingvorgänge verwenden und eine inkrementelle Verarbeitung im großen Stil ermöglichen.
Delta Lake ist das Standardformat für alle Vorgänge in Azure Databricks. Sofern nicht anders angegeben, sind alle Tabellen in Azure Databricks Delta-Tabellen. Databricks hat ursprünglich das Delta Lake-Protokoll entwickelt und ist weiterhin aktiv am Open-Source-Projekt beteiligt. Viele der Optimierungen und Produkte auf der Databricks-Plattform basieren auf den von Apache Spark und Delta Lake gegebenen Garantien. Informationen zu Optimierungen in Azure Databricks finden Sie unter Optimierungsempfehlungen für Azure Databricks.
Referenzinformationen zu Delta Lake-SQL-Befehlen finden Sie unter Delta Lake-Anweisungen.
Das Delta Lake-Transaktionsprotokoll verfügt über ein klar definiertes offenes Protokoll, das von jedem System zum Lesen des Transaktionsprotokolls verwendet werden kann. Siehe Protokoll für das Delta-Transaktionsprotokoll.
Erste Schritte mit Delta Lake
Alle Tabellen in Azure Databricks sind standardmäßig Delta-Tabellen. Unabhängig davon, ob Sie Apache Spark DataFrames oder SQL verwenden, sichern Sie sich alle Vorteile von Delta Lake, indem Sie Ihre Daten mit den Standardeinstellungen in der Lakehouse-Instanz speichern.
Beispiele für einfache Delta Lake-Vorgänge wie Erstellen von Tabellen sowie Lesen, Schreiben und Aktualisieren von Daten finden Sie im Tutorial: Delta Lake.
Atomische Transaktionen mit Delta Lake bieten viele Optionen zum Aktualisieren von Daten und Metadaten. Databricks empfiehlt, die direkte Interaktion mit Daten- und Transaktionsprotokolldateien in Delta Lake-Dateiverzeichnissen zu vermeiden, um eine Beschädigung Ihrer Tabellen zu verhindern.
Delta Lake bietet zahlreiche Optionen für selektive Überschreibungen basierend auf Filtern und Partitionen. Weitere Informationen finden Sie unter Selektives Überschreiben von Daten mit Delta Lake.
Aktivieren Sie die Spaltenzuordnung, um Spalten umzubenennen oder zu löschen, ohne Daten neu zu schreiben. Weitere Informationen finden Sie unter Rename and drop columns with Delta Lake column mapping (Umbenennen und Löschen von Spalten mit Delta Lake-Spaltenzuordnung).
Inkrementelle und Streamingworkloads in Delta Lake
Delta Lake ist für Structured Streaming in Azure Databricks optimiert. Delta Live Tables erweitert native Funktionen durch vereinfachte Infrastrukturbereitstellung, verbesserte Skalierung und verwaltete Datenabhängigkeiten.
Bei jedem Schreibvorgang in eine Delta-Tabelle wird eine neue Tabellenversion erstellt. Sie können mithilfe des Transaktionsprotokolls Änderungen an Ihrer Tabelle überprüfen und frühere Tabellenversionen abfragen. Weitere Informationen finden Sie unter Arbeiten mit dem Delta Lake-Tabellenverlauf.
Delta Lake-Schemaerweiterungen
Delta Lake überprüft das Schema beim Schreiben und stellt sicher, dass alle in eine Tabelle geschriebenen Daten den von Ihnen festgelegten Anforderungen entsprechen.
Verwalten von Dateien und Indizieren von Daten mit Delta Lake
Azure Databricks legt viele Standardparameter für Delta Lake fest, die sich auf die Größe der Datendateien und Anzahl der Tabellenversionen auswirken, die im Verlauf beibehalten werden. Delta Lake verwendet eine Kombination aus Parsen von Metadaten und physischem Datenlayout, um die Anzahl der Dateien zu reduzieren, die zur Erfüllung einer Abfrage überprüft werden.
Konfigurieren und Überprüfen von Delta Lake-Einstellungen
Azure Databricks speichert alle Daten und Metadaten für Delta Lake-Tabellen in Cloudobjektspeicher. Viele Konfigurationen können entweder auf Tabellenebene oder innerhalb der Spark-Sitzung festgelegt werden. Sie können die Details der Delta-Tabelle überprüfen, um zu ermitteln, welche Optionen konfiguriert sind.
Datenpipelines unter Verwendung von Delta Lake und Delta Live Tables
Azure Databricks ermutigt Benutzer, eine Medallion-Architektur zu nutzen, um Daten mithilfe einer Reihe von Tabellen zu verarbeiten, während Daten bereinigt und angereichert werden. Delta Live Tables vereinfacht ETL-Workloads durch Optimierung der Ausführung und Automatisierung der Bereitstellung und Skalierung der Infrastruktur.
Für die meisten Lese- und Schreibvorgänge in Delta-Tabellen können Sie die Spark SQL- oder Apache Spark DataFrame-APIs verwenden.
Informationen zu delta Lake-spezifischen SQL-Anweisungen finden Sie unter Delta Lake-Anweisungen.
Azure Databricks stellt die binäre Kompatibilität mit den Delta Lake-APIs in Databricks Runtime sicher. Informationen zum Anzeigen der Delta Lake-API-Version in den einzelnen Databricks Runtime-Versionen finden Sie im Abschnitt Systemumgebung im entsprechenden Artikel der Databricks Runtime-Versionshinweise. Dokumentation zu Delta Lake-APIs für Python, Scala und Java finden Sie in der Dokumentation zum OSS Delta Lake.
Zeigen Sie Ihre Kenntnisse von allgemeinen Datentechnikaufgaben zum Implementieren und Verwalten von Datentechnikworkloads in Microsoft Azure unter Verwendung verschiedener Azure-Dienste.