Schreiben der Verarbeiteten Daten in eine Tabelle
Swipe um das Menü anzuzeigen
Das Schreiben von Daten ist der Prozess, bei dem ein DataFrame aus dem temporären Speicher des Clusters in den permanenten Speicher im Catalog verschoben wird. Durch die Verwendung der Methode saveAsTable() wird sichergestellt, dass Ihre bereinigten und aggregierten Ergebnisse erhalten bleiben und für andere Benutzer und Tools zugänglich sind.
Alles, was Sie bisher gemacht haben, fand "im Speicher" statt. Wenn Sie Ihren Cluster jetzt ausschalten würden, wären Ihre transformierten DataFrames nicht mehr verfügbar. Um Ihre Arbeit dauerhaft zu speichern, müssen Sie die Daten zurück in das Lakehouse schreiben. In Databricks erfolgt dies standardmäßig, indem Sie Ihr DataFrame als Delta Table speichern.
Die saveAsTable()-Syntax
Um Ihre Arbeit zu speichern, hängen Sie die Methode write an Ihr DataFrame an. Der direkteste Ansatz ist:
# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
- write: Zugriff auf das DataFrame Writer-Interface;
- mode("overwrite"): Gibt an, was Databricks tun soll, wenn bereits eine Tabelle mit diesem Namen existiert. "Overwrite" ersetzt die alten Daten durch die neuen Daten. Weitere Optionen sind "append" (um neue Zeilen am Ende der bestehenden Tabelle hinzuzufügen);
- saveAsTable: Gibt den dreiteiligen Namen (
catalog.schema.table) an, unter dem die Daten gespeichert werden.
Delta Lake: Das Standardformat
Bei Verwendung von saveAsTable speichert Databricks die Daten automatisch im Delta-Format. Wie in Abschnitt 1 besprochen, bietet Delta Lake Zuverlässigkeit. Es stellt sicher, dass Ihre Tabelle nicht beschädigt wird, selbst wenn der Cluster während eines "write"-Vorgangs abstürzt. Außerdem ermöglicht es "Time Travel", sodass Sie bei Fehlern auf frühere Versionen der Tabelle zurückgreifen können.
Überprüfung des Schreibvorgangs im Katalog
Nach Abschluss des Befehls sollte überprüft werden, ob die Daten korrekt gespeichert wurden:
- Navigieren zum Tab Katalog in der linken Seitenleiste;
- Navigieren in den
main-Katalog und dasdefault-Schema; - Suchen nach dem neuen Tabellennamen (z. B.
regional_summary); - Durch Klicken auf die Tabelle werden das Schema, Beispieldaten und Metadaten wie Erstellungszeitpunkt und Ersteller angezeigt.
Lesen der gespeicherten Tabelle
Sobald eine Tabelle im Katalog vorhanden ist, kann jeder berechtigte Benutzer darauf zugreifen, ohne das eigene Notebook zu benötigen. Es kann einfach eine SQL-Abfrage ausgeführt oder spark.table() verwendet werden, um die Tabelle in die eigene Umgebung zu laden:
# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")
Best Practice: Aufräumen
Nach dem Speichern Ihrer finalen Ergebnisse in einer permanenten Tabelle ist es eine professionelle Gewohnheit, Ihren Cluster zu beenden oder zumindest den "Status zu löschen". Da Ihre Daten nun sicher im Katalog gespeichert sind, müssen die temporären DataFrames, die Speicher im RAM des Clusters belegen, nicht weiter vorgehalten werden.
1. Welchen "Modus" sollten Sie verwenden, wenn Sie eine bestehende Tabelle durch brandneue Daten aus Ihrem DataFrame ersetzen möchten?
2. Was ist der Hauptvorteil beim Speichern eines DataFrames mit saveAsTable()?
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen