Interoperabilität des Delta Lake-Tabellenformats

In Microsoft Fabric ist das Tabellenformat Delta Lake der Standard für Analysen. Delta Lake ist eine Open-Source-Speicherschicht, die ACID-Transaktionen (Atomität, Konsistenz, Isolation, Haltbarkeit) zu Big Data- und Analyseworkloads bringt.

Alle Fabric-Erfahrungen generieren und konsumieren Delta Lake-Tabellen nativ und bieten ein einheitliches Produkterlebnis. Delta Lake-Tabellen, die von einem Computemodul wie Fabric Data Warehouse oder Synapse Spark erstellt werden, können von jedem anderen Modul wie Power BI genutzt werden. Wenn Sie Daten in Fabric aufnehmen, werden die Daten standardmäßig als Delta-Tabellen gespeichert. Sie können externe Daten, die Delta Lake-Tabellen enthalten, ganz einfach mithilfe von OneLake-Tastenkombinationen integrieren.

Delta Lake-Features und Fabric-Erfahrungen

Um Interoperabilität zu erreichen, sind alle Fabric-Erfahrungen auf die Delta Lake-Features und Fabric-Funktionen abgestimmt. Einige Umgebungen können nur in Delta Lake-Tabellen schreiben, während andere daraus lesen können.

  • Writer: Data Warehouse, Eventstreams und exportierte semantische Power BI-Modelle in OneLake
  • Leser: SQL-Analyseendpunkt und Power BI Direct Lake-Semantikmodelle
  • Autoren und Leser: Fabric Spark-Laufzeit, Datenflüsse, Pipelines und KQL (Kusto Query Language)-Datenbanken

Die folgende Matrix zeigt wichtige Delta Lake-Features und deren Verfügbarkeit für jede Fabric Erfahrung.

Fabric-Funktion Spaltenzuordnungen Vektoren löschen Schreiben in V-Reihenfolge Tabellenoptimierung und -wartung Partitionen
Export des Data Warehouse Delta Lake Name: Ja
ID: Keine
Ja Ja Ja Lesen: N/A (nicht zutreffend)
Schreiben: Nein
SQL-Analyseendpunkt Name: Ja
ID: Keine
Ja N/A (nicht zutreffend) N/A (nicht zutreffend) Lesen: Ja
Schreiben: N/A (nicht zutreffend)
Lakehouse-Explorer und Vorschau Name: Ja
ID: Keine
Ja N/A (nicht zutreffend) Ja Lesen: Ja
Schreiben: N/A (nicht zutreffend)
Fabric Spark Runtime 2.0 (Vorschau) Name: Ja
ID: Ja
Ja Ja Ja Lesen: Ja
Schreiben: Ja
Fabric Spark Runtime 1.3 Name: Ja
ID: Ja
Ja Ja Ja Lesen: Ja
Schreiben: Ja
Fabric Spark Runtime 1.2 Name: Ja
ID: Ja
Ja Ja Ja Lesen: Ja
Schreiben: Ja
Fabric Spark Runtime 1.1 Name: Ja
ID: Ja
Nein Ja Ja Lesen: Ja
Schreiben: Ja
Python-Notizbücher Name: Nein
ID: Keine
Nein Nein Ja Lesen: Ja
Schreiben: Ja
Dataflows Gen2 Name: Ja
ID: Keine
Ja Ja Nein Lesen: Ja
Schreiben: Ja
Pipelines Name: Nein
ID: Keine
Nein Ja Nein Lesen: Ja
Schreiben: Ja, nur überschreiben
Power BI Direct Lake Semantikmodelle Name: Ja
ID: Ja
Ja N/A (nicht zutreffend) N/A (nicht zutreffend) Lesen: Ja
Schreiben: N/A (nicht zutreffend)
Exportieren von Power BI-Semantikmodellen in OneLake Name: Ja
ID: Keine
N/A (nicht zutreffend) Ja Nein Lesen: N/A (nicht zutreffend)
Schreiben: Nein
KQL-Datenbanken Name: Ja
ID: Keine
Ja Nein Nein 1 Lesen: Ja
Schreiben: Ja
Ereignisströme Name: Nein
ID: Keine
Nein Nein Nein Lesen: N/A (nicht zutreffend)
Schreiben: Ja

1 KQL-Datenbanken bieten bestimmte Tabellenwartungsfunktionen wie die Aufbewahrung. Daten werden am Ende des Aufbewahrungszeitraums aus OneLake entfernt. Weitere Informationen finden Sie unter "Eine logische Kopie".

Fabric-Funktion Flüssigkeits-Clusterbildung TIMESTAMP_NTZ Delta-Leser/Schreiber-Version und Standardtabellenfunktionen Typ-Erweiterung
Export des Data Warehouse Delta Lake Nein Nein Reader: 3
Autor: 7
Vektoren löschen,
Spaltenzuordnungen (Name)
Ja
SQL-Analyseendpunkt Ja Nein N/A (nicht zutreffend) Ja
Lakehouse-Explorer und Vorschau Ja Ja N/A (nicht zutreffend) Ja
Fabric Spark Runtime 2.0 (Vorschau) Ja Ja Reader: 3
Autor: 7
Vektoren löschen
Ja
Fabric Spark Runtime 1.3 Ja Ja Leser: 1
Autor: 2
Nein
Fabric Spark Runtime 1.2 Ja, nur Lesezugriff Ja Leser: 1
Autor: 2
Nein
Fabric Spark Runtime 1.1 Ja, nur Lesezugriff Nein Leser: 1
Autor: 2
Nein
Python-Notizbücher Nein Ja Leser: 1
Autor: 2
Nein
Dataflows Gen2 Ja, nur Lesezugriff Nein Leser: 1
Autor: 2
Ja
Pipelines Ja, nur Lesezugriff Nein Leser: 1
Autor: 2
Ja: DI-Datenpipelines (Kopieren, Abfrageaktivität)
Nein: DI CopyJob-Pipelines
Power BI Direct Lake Semantikmodelle Ja Nein N/A (nicht zutreffend) Ja
Exportieren von Power BI-Semantikmodellen in OneLake Nein Nein Reader: 2
Autor: 5
Spaltenzuordnungen (Name)
Nein
KQL-Datenbanken Nein Nein Leser: 1
Autor: 1
Nein
Ereignisströme Nein Nein Leser: 1
Autor: 2
Nein

Anmerkung

  • Fabric schreibt standardmäßig keine Spaltenzuordnungen, außer wenn anders angegeben. Die Standardmäßige Fabric-Oberfläche generiert Tabellen, die über den Dienst hinweg kompatibel sind. Delta Lake-Tabellen, die von Drittanbieterdiensten erstellt werden, weisen möglicherweise inkompatible Tabellenfeatures auf.
  • Einige Fabric-Umgebungen bieten keine Tabellenoptimierungs- und Wartungsfunktionen, wie z. B. Bin-Komprimierung, V-Reihenfolge, Löschvektorzusammenführung (PURGE) und Bereinigen alter nicht referenzierter Dateien (VACUUM). Um Delta Lake-Tabellen optimal für Analysen zu halten, befolgen Sie die Techniken in Delta-Tabellenwartung im Lakehouse ausführen für Tabellen, die mit diesen Prozessen aufgenommen wurden.
  • Umfassende Richtlinien für die Querarbeitsauslastung zu Tabellenwartungsstrategien für unterschiedliche Verbrauchsszenarien finden Sie unter Cross-Workload-Tabellenwartung und -optimierung in Microsoft Fabric.

Aktuelle Einschränkungen

Derzeit unterstützt Fabric diese Delta Lake-Features nicht:

  • V2-Prüfpunkte sind in allen Umgebungen nicht einheitlich verfügbar. Nur Spark-Notizbücher und Spark-Aufträge können tabellen mit V2-Prüfpunkten lesen und schreiben. Lakehouse- und SQL-Analyseendpunkte führen keine ordnungsgemäßen Tabellen mit V2-Prüfpunktdateien im __delta_log Ordner auf.
  • Delta Lake 3.x Uniform. Dieses Feature wird nur im Data Engineering Spark-compute (Notebooks, Spark Jobs) unterstützt.
  • Identitätsspalten schreiben (Azure-Databricks-Feature).
  • Lakeflow Spark deklarative Pipelines (Azure Databricks Funktion).
  • Delta Lake 4.x-Features außerhalb von Lakehouse und Spark Notebooks und Jobs: Sortierungen, Variant-Typ, koordinierte Commits und vieles mehr. Die Typweiterung wird unterstützt, sofern in der vorherigen Featurematrix in diesem Artikel erwähnt.
  • Python-Notebooks: Unterstützung der Delta Lake-Funktionalität: Python-Notebooks verwenden delta-rs (deltalake), DuckDB und Polars anstelle der Spark Delta Lake Reader und Writer, um Delta Lake-Tabellen zu lesen und zu schreiben. Die deltalake-Versionen, die derzeit von Fabric angeheftet wurden, unterstützen einige Delta Lake-Tabellenfeatures nicht, einschließlich Löschvektoren, Spaltenzuordnungen, Flüssigclusterschreib- und Optimierungsvorgängen und Typweiterung. Polars read_delta und write_delta verwenden deltalake als Backend, sodass sie dieselben Einschränkungen aufweisen.
  • Problemumgehungen und Fallback für Delta Lake in Python-Notebooks: Die DuckDB delta_scan-Funktion kann eine schreibgeschützte Problemumgehung für einige Tabellen bereitstellen, die deltalake nicht gelesen werden können, z. B. Tabellen mit Löschvektoren. Wenn eine Delta Lake-Funktion nicht verfügbar ist oder nicht in einem Python Notizbuch funktioniert, verwenden Sie stattdessen ein PySpark-Notizbuch. PySpark-Notizbücher bieten die umfassendste Delta Lake-Unterstützung in Fabric und decken die Delta Lake-Szenarien ab, die für Fabric Spark-Laufzeiten in diesen Tabellen aufgeführt sind. Weitere Informationen finden Sie unter Dateninteraktion in Python Notizbüchern und Choosing zwischen Python und PySpark-Notizbüchern in Microsoft Fabric.

Sonderzeichen in Tabellennamen

Fabric unterstützt Sonderzeichen als Teil der Tabellennamen. Dieses Feature ermöglicht die Verwendung von Unicode-Zeichen zum Verfassen von Tabellennamen in Fabric Erfahrungen.

Die folgenden Sonderzeichen sind entweder reserviert oder nicht mit mindestens einer Fabric Technologien kompatibel und dürfen nicht als Teil eines Tabellennamens verwendet werden: " (doppelte Anführungszeichen), ' (einfaches Anführungszeichen), #, %, +, :, ? oder ' (Backtick).