Prosessoidun Datan Tallentaminen Tauluun
Pyyhkäise näyttääksesi valikon
Datan kirjoittaminen tarkoittaa DataFrame- siirtämistä klusterin väliaikaisesta muistista pysyvään tallennustilaan Catalog-hakemistoon. Käyttämällä saveAsTable()-metodia varmistat, että puhdistetut ja aggregoidut tulokset säilyvät ja ovat muiden käyttäjien ja työkalujen käytettävissä.
Kaikki tähän asti tehdyt toimenpiteet ovat olleet "muistissa". Jos sammuttaisit klusterin nyt, muokatut DataFrame-objektit katoaisivat. Jotta työsi säilyy pysyvästi, data täytyy kirjoittaa takaisin Lakehouseen. Databricksissä vakiotapa tähän on tallentaa DataFrame Delta-taulukoksi.
saveAsTable()-syntaksi
Tallentaaksesi työsi, ketjutat write-metodin DataFrameen. Suorin tapa on:
# Save the 'summary_df' we created earlier as a permanent table
summary_df.write.mode("overwrite").saveAsTable("workspace.default.diamonds_summary”)
- write: käyttää DataFrame-kirjoitusrajapintaa;
- mode("overwrite"): Määrittää Databricksille, mitä tehdä, jos taulukko samalla nimellä on jo olemassa. "Overwrite" korvaa vanhat tiedot uusilla. Muita vaihtoehtoja ovat esimerkiksi "append" (lisää uusia rivejä olemassa olevan taulukon loppuun);
- saveAsTable: määrittää kolmiosaisen nimen (
catalog.schema.table), johon data tallennetaan.
Delta Lake: Oletusformaatti
Kun käytät saveAsTable-toimintoa, Databricks tallentaa datan automaattisesti Delta-muodossa. Kuten käsiteltiin osiossa 1, Delta Lake tarjoaa luotettavuutta. Se varmistaa, että vaikka klusteri kaatuisi "write"-operaation aikana, taulukko ei vioitu. Lisäksi se mahdollistaa "Time Travel" -ominaisuuden, eli voit tarkastella taulukon aiempia versioita, jos teet virheen.
Kirjoituksen tarkistaminen katalogissa
Kun komento on suoritettu, varmista, että data on tallentunut oikein:
- Siirry vasemman sivupalkin Katalogi-välilehdelle;
- Porauta
main-katalogiin jadefault-skeemaan; - Etsi uusi taulusi nimi (esim.
regional_summary); - Voit klikata taulua nähdäksesi sen skeeman, esimerkkidatan ja metatiedot, kuten luontiajan ja luojan.
Tallennetun taulun lukeminen
Kun taulu on katalogissa, kuka tahansa valtuutettu käyttäjä voi käyttää sitä ilman muistikirjaasi. He voivat yksinkertaisesti suorittaa SQL-kyselyn tai käyttää spark.table() ladatakseen sen omaan ympäristöönsä:
# In a new notebook, anyone can now access your processed data
new_df = spark.table("main.default.regional_summary")
Paras käytäntö: Siivoaminen
Kun olet tallentanut lopulliset tulokset pysyvään tauluun, ammattimainen tapa on lopettaa klusterisi tai vähintään "Tyhjentää tila". Koska tietosi ovat nyt turvallisesti tallennettu Catalogiin, sinun ei enää tarvitse pitää väliaikaisia DataFrameja viemässä tilaa klusterin RAM-muistissa.
1. Mitä "mode"-vaihtoehtoa tulisi käyttää, jos haluat korvata olemassa olevan taulun täysin uudella DataFrame-tiedolla?
2. Mikä on tärkein hyöty DataFramen tallentamisesta saveAsTable()-toiminnolla?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme