Holen Sie sich eine Vorabversion von O'Reillys neuem E-Book mit der Schritt-für-Schritt-Anleitung, die Sie für die ersten Schritte mit Delta Lake benötigen.
Datenversionierung zur Reproduktion von Experimenten, zum Rollback und zur Überprüfung von Daten
Wir freuen uns, die Time-Travel-Funktionen in Databricks Delta Lake, der Unified-Analytics-Engine der nächsten Generation, die auf Apache Spark aufbaut, für alle unsere Benutzer einzuführen. Mit dieser neuen Funktion versioniert Delta automatisch die Big Data, die Sie in Ihrem Data Lake speichern, und Sie können auf jede historische Version dieser Daten zugreifen. Diese temporale Datenverwaltung vereinfacht Ihre Datenpipeline, indem sie die Überprüfung und das Rollback von Daten im Falle versehentlicher fehlerhafter Schreibvorgänge oder Löschungen sowie die Reproduktion von Experimenten und Berichten erleichtert. Ihr Unternehmen kann sich endlich auf ein sauberes, zentralisiertes und versioniertes Big-Data-Repository in Ihrem eigenen Cloud-Speicher für Ihre Analysen standardisieren.
Die Time-Travel-Funktionen von Delta vereinfachen den Aufbau von Datenpipelines für die oben genannten Anwendungsfälle. Wenn Sie in eine Delta-Tabelle oder ein Verzeichnis schreiben, wird jeder Vorgang automatisch versioniert. Sie können auf die verschiedenen Versionen der Daten auf zwei verschiedene Arten zugreifen:
1. Verwenden eines Zeitstempels
Scala-Syntax:
Sie können den Zeitstempel oder die Datumszeichenfolge als Option für den DataFrame-Reader angeben:
In Python:
SQL-Syntax:
Wenn sich der Lesercode in einer Bibliothek befindet, auf die Sie keinen Zugriff haben, und Sie Eingabeparameter an die Bibliothek übergeben, um Daten zu lesen, können Sie trotzdem in der Zeit zurückreisen, indem Sie den Zeitstempel im Format yyyyMMddHHmmssSSS an den Pfad übergeben:
2. Verwenden einer Versionsnummer
In Delta hat jeder Schreibvorgang eine Versionsnummer, und Sie können die Versionsnummer verwenden, um auch in der Zeit zurückzureisen.
Scala-Syntax:
Python-Syntax:
SQL-Syntax:
Sie können sich die Historie der Tabellenänderungen mit dem Befehl DESCRIBE HISTORY oder über die Benutzeroberfläche ansehen.
Time Travel spielt auch eine wichtige Rolle im Machine Learning und in der Data Science. Die Reproduzierbarkeit von Modellen und Experimenten ist ein wichtiger Aspekt für Data Scientists, da sie oft Hunderte von Modellen erstellen, bevor sie eines in die Produktion überführen, und in diesem zeitaufwändigen Prozess gerne zu früheren Modellen zurückkehren möchten. Da die Datenverwaltung jedoch oft von den Data-Science-Tools getrennt ist, ist dies nur schwer zu erreichen.
Databricks löst dieses Reproduzierbarkeitsproblem, indem es die Time-Travel-Funktionen von Delta in MLflow integriert, einer Open-Source-Plattform für den Machine-Learning-Lebenszyklus. Für ein reproduzierbares Machine-Learning-Training können Sie einfach eine mit einem Zeitstempel versehene URL zum Pfad als MLflow-Parameter protokollieren, um zu verfolgen, welche Version der Daten für jeden Trainingsjob verwendet wurde. Auf diese Weise können Sie zu früheren Einstellungen und Datensätzen zurückkehren, um frühere Modelle zu reproduzieren. Sie müssen sich weder mit vorgelagerten Teams über die Daten abstimmen noch sich um das Klonen von Daten für verschiedene Experimente kümmern. Das ist die Stärke von Unified Analytics, bei dem Data Science eng mit Data Engineering verbunden ist.
Time Travel erleichtert auch Rollbacks im Falle von fehlerhaften Schreibvorgängen. Wenn beispielsweise Ihr GDPR-Pipeline-Job einen Fehler hatte, der versehentlich Benutzerinformationen gelöscht hat, können Sie die Pipeline auf einfache Weise korrigieren:
Sie können auch fehlerhafte Aktualisierungen wie folgt beheben:
Mit AS-OF-Abfragen können Sie jetzt den Snapshot einer sich kontinuierlich aktualisierenden Delta-Tabelle für mehrere nachgeschaltete Jobs fixieren. Stellen Sie sich eine Situation vor, in der eine Delta-Tabelle kontinuierlich aktualisiert wird, sagen wir alle 15 Sekunden, und es gibt einen nachgeschalteten Job, der periodisch aus dieser Delta-Tabelle liest und verschiedene Ziele aktualisiert. In solchen Szenarien benötigen Sie in der Regel eine konsistente Ansicht der Quell-Delta-Tabelle, so dass alle Zieltabelle denselben Zustand widerspiegeln. Sie können solche Szenarien jetzt auf einfache Weise wie folgt handhaben:
Time Travel vereinfacht auch die Zeitreihenanalyse. Wenn Sie beispielsweise herausfinden möchten, wie viele neue Kunden Sie in der letzten Woche gewonnen haben, könnte Ihre Abfrage ganz einfach so aussehen:
Time Travel in Delta verbessert die Entwicklerproduktivität enorm. Es hilft:
Unternehmen können sich endlich auf ein sauberes, zentralisiertes und versioniertes Big-Data-Repository in ihrem eigenen Cloud-Speicher für Analysen standardisieren. Wir sind gespannt, was Sie mit dieser neuen Funktion erreichen werden.
Die Funktion ist als Public Preview für alle Benutzer verfügbar. Erfahren Sie mehr über die Funktion. Um sie in Aktion zu sehen, melden Sie sich für eine kostenlose Testversion von Databricks an.
(Dieser Blogbeitrag wurde mit KI-gestützten Tools übersetzt.) Originalbeitrag
