Het Wegschrijven van de Verwerkte Data naar een Tabel
Veeg om het menu te tonen
Gegevens wegschrijven is het proces waarbij een DataFrame wordt verplaatst van het tijdelijke geheugen van de cluster naar permanente opslag in de Catalog. Door gebruik te maken van de methode saveAsTable(), worden de opgeschoonde en geaggregeerde resultaten bewaard en toegankelijk gemaakt voor andere gebruikers en tools.
Alles wat tot nu toe is gedaan, bevindt zich "in-memory". Als je nu de cluster zou uitschakelen, zouden de getransformeerde DataFrames verdwijnen. Om het werk permanent te maken, moet je de gegevens terugschrijven naar de Lakehouse. In Databricks is de standaardmethode hiervoor het opslaan van je DataFrame als een Delta Table.
De saveAsTable() syntaxis
Om het werk op te slaan, koppel je de write-methode aan je DataFrame. De meest directe aanpak is:
# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
- write: opent de DataFrame-writerinterface;
- mode("overwrite"): geeft aan wat Databricks moet doen als er al een tabel met die naam bestaat. "Overwrite" vervangt de oude gegevens door de nieuwe gegevens. Andere opties zijn "append" (om nieuwe rijen toe te voegen aan het einde van de bestaande tabel);
- saveAsTable: specificeert de drieledige naam (
catalog.schema.table) waar de gegevens worden opgeslagen.
Delta Lake: Het standaardformaat
Wanneer je saveAsTable gebruikt, slaat Databricks de gegevens automatisch op in het Delta-formaat. Zoals besproken in Sectie 1, biedt Delta Lake betrouwbaarheid. Het zorgt ervoor dat zelfs als de cluster crasht tijdens een "write"-operatie, je tabel niet beschadigd raakt. Het maakt ook "Time Travel" mogelijk, wat betekent dat je eerdere versies van de tabel kunt bekijken als je een fout maakt.
Controleren van het wegschrijven in de Catalogus
Zodra het commando is uitgevoerd, controleren of de gegevens correct zijn opgeslagen:
- Navigeer naar het tabblad Catalogus in de linkerzijbalk;
- Navigeer naar de
maincatalogus en hetdefaultschema; - Zoek naar de naam van je nieuwe tabel (bijvoorbeeld
regional_summary); - Klik op de tabel om het schema, voorbeeldgegevens en metadata te bekijken, zoals de aanmaakdatum en de maker.
Lezen van je opgeslagen tabel
Zodra een tabel in de Catalogus staat, kan elke geautoriseerde gebruiker deze benaderen zonder jouw notebook nodig te hebben. Zij kunnen eenvoudig een SQL-query uitvoeren of spark.table() gebruiken om de tabel in hun eigen omgeving te laden:
# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")
Best practice: Opruimen
Na het opslaan van je eindresultaten in een permanente tabel is het een professionele gewoonte om je cluster te beëindigen of ten minste de "Clear State"-optie te gebruiken. Aangezien je gegevens nu veilig zijn opgeslagen in de Catalog, hoef je de tijdelijke DataFrames die geheugenruimte innemen in het RAM-geheugen van de cluster niet langer te bewaren.
1. Welke "mode" moet je gebruiken als je een bestaande tabel wilt vervangen door geheel nieuwe gegevens uit je DataFrame?
2. Wat is het belangrijkste voordeel van het opslaan van een DataFrame met saveAsTable()?
Bedankt voor je feedback!
Vraag AI
Vraag AI
Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.