Delta-Tabellen klonen

Sie können den Befehl "Delta Lake CLONE" in Microsoft Fabric verwenden, um eine Kopie einer Delta-Tabelle zu einem bestimmten Zeitpunkt zu erstellen. Ein Klon erfasst die Quelltabelle so, wie sie vorhanden ist, wenn Sie den Befehl ausführen, oder bei einer früheren Version, die Sie mit der Zeitreisesyntax angeben.

Das Klonen ist nützlich, wenn Sie eine sichere Kopie einer Tabelle für die Entwicklung, Validierung oder Experimente benötigen. Die Quelltabelle wird nicht geändert, und Änderungen, die Sie am Klon vornehmen, wirken sich nicht auf die Quelltabelle aus.

Funktionsweise des Klons

Ein Klon erstellt eine Delta-Zieltabelle aus dem Snapshot einer Delta-Quelltabelle. Sie haben folgende Möglichkeiten:

  • Klonen der neuesten Version der Quelltabelle
  • Klonen einer bestimmten Tabellenversion mithilfe von VERSION AS OF
  • Klonen Sie einen bestimmten Zeitpunkt mithilfe von TIMESTAMP AS OF

Da der Klon auf einer Momentaufnahme basiert, werden spätere Änderungen in der Quelltabelle nicht automatisch nachverfolgt.

Flacher Klon

Ein flacher Klon erstellt eine neue Delta-Tabelle, die auf die vorhandenen Datendateien der Quelltabelle verweist. Delta Lake kopiert zum Zeitpunkt des Klonens die Tabellenmetadaten, aber nicht die zugrunde liegenden Datendateien in einen neuen Speicherort.

Verwenden Sie einen flachen Klon, wenn Sie eine schnelle, speichereffiziente Kopie für kurzlebige Arbeit benötigen:

  • Erstellen eines Sandkastens für die Entwicklung
  • Testen von Schema- oder Transformationsänderungen ohne Risiko
  • Ausführen von Experimenten mit produktionsähnlichen Daten
  • Erstellen temporärer Kopien zur Problembehandlung
  • Erstellen von zeitpunktbezogenen Snapshots zur Validierung

Ein flacher Klon ist speichereffizient, da die Quelle und der Klon dieselben OneLake-Datendateien gemeinsam nutzen. Nachdem der Klon vorhanden ist, erstellen Aktualisierungen, die Sie an dem Klon vornehmen, neue Dateien für den Klon und ändern sie nicht die Quelltabelle.

Note

Nur SHALLOW CLONE wird in den Open-Source-Versionen Delta Lake und Fabric unterstützt. DEEP CLONE ist nicht verfügbar.

Syntax

Verwenden Sie die folgenden Syntaxmuster, um Delta-Tabellenklonen zu erstellen.

Klonen der aktuellen Version

CREATE TABLE target_table SHALLOW CLONE source_table;

Klonen einer bestimmten Version

CREATE TABLE target_table SHALLOW CLONE source_table VERSION AS OF 125;

Klonen zu einem bestimmten Zeitpunkt

CREATE TABLE target_table SHALLOW CLONE source_table TIMESTAMP AS OF '2026-05-18T08:30:00Z';

Ersetzen eines vorhandenen Klons

Verwenden Sie CREATE OR REPLACE TABLE, um ein Klonziel mit einem neueren Snapshot zu aktualisieren:

CREATE OR REPLACE TABLE sandbox.sales_orders_test
SHALLOW CLONE operations.sales_orders;

Verstehen, was geklont wird

Bestandteil Behavior
Datendateien Es wird auf die OneLake-Dateien der Quelltabelle verwiesen (nicht kopiert).
Partitionsinformationen Kopiert.
Schema Kopiert.
Tabelleneigenschaften Kopiert.
Abhängigkeit von der Quelle nach dem Klonen Ja – der Klon hängt von den verfügbaren Datendateien der Quelle ab.
Quell-Delta-Protokollverlauf Nicht in den Zieltabellenverlauf kopiert. Der Klon startet ein eigenes Delta-Protokoll.

Klonen für häufige Szenarien verwenden

Verwenden Sie den Klon der Delta-Tabelle, wenn Sie Folgendes benötigen:

  • Erstellen von Sandkastenumgebungen für die Entwicklung
  • Testen von Schemaänderungen ohne Risiko für die Quelltabelle
  • Überprüfen von Transformationen anhand einer Produktionsmomentaufnahme
  • Eine zeitpunktbezogene Kopie für Debugging oder Auditierung erstellen
  • Stellen Sie einem nachgelagerten Team eine schreibgeschützte Momentaufnahme bereit.

Überlegungen zu OneLake

Flache Klone teilen die zugrunde liegenden OneLake-Dateien mit der Quelltabelle. Dieses Design ermöglicht das schnelle und speichereffiziente Erstellen flacher Klone, bedeutet aber auch, dass der Klon davon abhängt, dass die Dateien der Quelltabelle weiterhin verfügbar bleiben.

Seien Sie vorsichtig, wenn Sie VACUUM auf der Quelltabelle ausführen. Wenn VACUUM Quelldateien entfernt, auf die ein flacher Klon noch verweist, kann der Klon unbrauchbar werden, da diese Dateien in OneLake nicht mehr verfügbar sind.

Um eine dauerhafte, unabhängige Kopie zu erstellen, die VACUUM auf der Quelle überdauert, sollten Sie Daten durch vollständiges Schreiben (CREATE TABLE ... AS SELECT) anstelle eines Klons kopieren.