Skrivning af de Behandlede Data til en Tabel
Stryg for at vise menuen
At skrive data er processen med at flytte en DataFrame fra klyngens midlertidige hukommelse til permanent lagring i Catalog. Ved at bruge metoden saveAsTable() sikrer du, at dine rensede og aggregerede resultater bevares og er tilgængelige for andre brugere og værktøjer.
Alt, hvad du har gjort indtil nu, har været "in-memory." Hvis du slukkede for din klynge nu, ville dine transformerede DataFrames forsvinde. For at gøre dit arbejde permanent skal du skrive dataene tilbage til Lakehouse. I Databricks er den standardmetode at gemme din DataFrame som en Delta Table.
Syntaks for saveAsTable()
For at gemme dit arbejde kæder du write-metoden til din DataFrame. Den mest direkte tilgang er:
# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
- write: tilgår DataFrame writer-grænsefladen;
- mode("overwrite"): Angiver til Databricks, hvad der skal ske, hvis en tabel med det navn allerede findes. "Overwrite" erstatter de gamle data med de nye data. Andre muligheder inkluderer "append" (for at tilføje nye rækker til slutningen af den eksisterende tabel);
- saveAsTable: angiver det tre-leddede navn (
catalog.schema.table), hvor dataene gemmes.
Delta Lake: Standardformatet
Når du bruger saveAsTable, gemmer Databricks automatisk dataene i Delta-formatet. Som vi diskuterede i Afsnit 1, giver Delta Lake pålidelighed. Det sikrer, at selv hvis klyngen crasher midt i en "write"-operation, bliver din tabel ikke ødelagt. Det muliggør også "Time Travel", hvilket betyder, at du kan se tidligere versioner af tabellen, hvis du laver en fejl.
Bekræftelse af skrivning i kataloget
Når kommandoen er færdig med at køre, bør du bekræfte, at dataene er landet korrekt:
- Naviger til Katalog-fanen i venstre sidebjælke;
- Gå ned i
main-kataloget ogdefault-skemaet; - Find dit nye tabelnavn (f.eks.
regional_summary); - Du kan klikke på tabellen for at se dens skema, eksempeldata og metadata, såsom hvornår den blev oprettet og hvem der oprettede den.
Læsning af din gemte tabel
Når en tabel er i kataloget, kan enhver autoriseret bruger få adgang til den uden at skulle bruge din notebook. De kan blot køre en SQL-forespørgsel eller bruge spark.table() for at indlæse den i deres eget miljø:
# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")
Bedste praksis: Oprydning
Efter at have gemt dine endelige resultater i en permanent tabel, er det professionelt at afslutte din klynge eller i det mindste "Ryd tilstand". Da dine data nu er sikkert gemt i kataloget, behøver du ikke længere at beholde de midlertidige DataFrames, der optager plads i klyngens RAM.
1. Hvilken "mode" skal du bruge, hvis du vil erstatte en eksisterende tabel med helt nye data fra din DataFrame?
2. Hvad er den primære fordel ved at gemme en DataFrame med saveAsTable()?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat