Datan Lataaminen Tiedostosta DataFrameen
Pyyhkäise näyttääksesi valikon
spark.read-objekti on lähtökohta ulkoisen datan lukemiseen Spark DataFrameen. Se tukee useita tiedostomuotoja, kuten CSV, JSON, Parquet ja Delta, ja mahdollistaa sen määrittämisen, miten Spark tulkitsee tiedostot.
Osiossa 2 latasit CSV-tiedoston Databricks-ympäristöön. Nyt opit, kuinka tämä tiedosto "nostetaan" tallennustilasta ja tuodaan klusterin muistiin DataFrameksi Pythonin avulla. Tämä on lähes jokaisen data engineering -prosessin ensimmäinen vaihe.
spark.read-syntaksi
Tiedoston lataamiseen käytetään tiettyä komentoketjua. Perusrakenne näyttää tältä:
df = spark.read.format("csv").option("header", "true").load("path/to/file")
- format: määrittää Sparkille tiedostotyypin (csv, json, parquet);
- option("header", "true"): ohjeistaa Sparkia käyttämään tiedoston ensimmäistä riviä sarakeotsikoina;
- load: tiedoston tarkka sijainti Databricks-ympäristössä.
Skeeman automaattinen tunnistus
Oletuksena Spark olettaa, että jokainen CSV-tiedoston sarake on merkkijono (teksti). Jotta data olisi hyödyllisempää, lisätään toinen asetus: .option("inferSchema", "true"). Kun tämä on käytössä, Spark tarkistaa nopeasti datan ja tunnistaa automaattisesti, mitkä sarakkeet ovat kokonaislukuja, desimaaleja tai totuusarvoja. Tämä säästää manuaalista työtä tietotyyppien määrittelyssä.
Tiedostopolun paikantaminen
Tiedoston lukemista varten tarvitset sen polun. Catalog- tai Workspace-välilehdellä voit etsiä lataamasi tiedoston, klikata sen vieressä olevia kolmea pistettä (ellipsi) ja valita "Copy path". Uudemmassa Databricksissa, jos latasit tiedoston Data Ingestion -käyttöliittymän kautta kuten teimme luvussa 2.6, data on jo tallennettu tauluna, jonka voimme lukea seuraavasti:
df = spark.read.table("main.default.sample_sales_records")
Jos kuitenkin luet raakaa tiedostoa suoraan Volumesta, käytät tiedostopolkua:
df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my_volume/sales_data.csv")
Latauksen varmistaminen
Kun latauskomento on suoritettu, on hyvä käytäntö varmistaa tiedot. Luku-komennon jälkeen kannattaa heti käyttää: display(df)
Tämä vahvistaa, että tiedot on ladattu klusterin muistiin oikein, otsikot ovat oikeilla paikoillaan ja tietotyypit näyttävät oikeilta. Tässä vaiheessa tiedot sijaitsevat väliaikaisessa objektissa nimeltä df, ja olet valmis aloittamaan tietojen muuntamisen.
1. Miksi kannattaa käyttää asetusta .option("inferSchema", "true") CSV-tiedostoa luettaessa?
2. Mitä komentoa käytetään tuomaan olemassa oleva taulu Catalogista Python DataFrameen?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme