Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Laste Data fra en Fil inn i en DataFrame | Arbeide med Data
Databricks Grunnleggende: En Nybegynnerguide

Laste Data fra en Fil inn i en DataFrame

Sveip for å vise menyen

Note
Definisjon

Objektet spark.read er inngangspunktet for å lese eksterne data inn i en Spark DataFrame. Det støtter ulike filformater, inkludert CSV, JSON, Parquet og Delta, og lar deg definere hvordan Spark skal tolke filene.

I seksjon 2 lastet du opp en CSV-fil til Databricks-miljøet. Nå skal du lære hvordan du "henter" denne filen fra lagringen og bringer den inn i klyngens minne som en DataFrame ved hjelp av Python. Dette er det første steget i nesten alle data engineering-pipelines.

spark.read-syntaks

For å laste inn en fil bruker vi en spesifikk kjede av kommandoer. Den grunnleggende strukturen ser slik ut:

df = spark.read.format("csv").option("header", "true").load("path/to/file")
  • format: angir for Spark hvilken type fil (csv, json, parquet);
  • option("header", "true"): angir for Spark at første rad i filen skal brukes som kolonnenavn;
  • load: den spesifikke plasseringen av filen i Databricks.

Tolking av skjema

Som standard antar Spark at hver kolonne i en CSV er en streng (tekst). For å gjøre dataene mer nyttige, legger vi til et annet alternativ: .option("inferSchema", "true"). Når dette er aktivert, tar Spark en rask titt på dataene og identifiserer automatisk hvilke kolonner som er heltall, desimaltall eller boolske verdier. Dette sparer deg for manuelt arbeid med å definere datatyper selv.

Finne filbanen din

For å lese en fil, trenger du filbanen. I fanen Catalog eller Workspace kan du finne den opplastede filen din, klikke på de tre prikkene (ellipsis) ved siden av, og velge "Copy path". I moderne Databricks, hvis du lastet opp filen via Data Ingestion UI som vi gjorde i kapittel 2.6, er dataene allerede lagret som en tabell, som vi kan lese med:

df = spark.read.table("main.default.sample_sales_records")

Hvis du derimot leser råfilen direkte fra et Volume, bruker du filbanen:

df = spark.read.format("csv").option("header", "true").option("inferSchema", "true").load("/Volumes/main/default/my_volume/sales_data.csv")

Verifisering av innlasting

Etter at innlastingskommandoen er kjørt, er det beste praksis å verifisere dataene. Du bør umiddelbart følge opp lesekommandoen med: display(df)

Dette bekrefter at dataene er lastet inn korrekt i klyngens minne, at kolonneoverskriftene er på riktig plass, og at datatypene ser riktige ut. På dette stadiet ligger dataene i et midlertidig objekt kalt df, og du er klar til å begynne å transformere dem.

1. Hvorfor bør du bruke innstillingen .option("inferSchema", "true") når du leser en CSV-fil?

2. Hvilken kommando brukes for å hente en eksisterende tabell fra katalogen inn i en Python DataFrame?

question mark

Hvorfor bør du bruke innstillingen .option("inferSchema", "true") når du leser en CSV-fil?

Velg det helt riktige svaret

question mark

Hvilken kommando brukes for å hente en eksisterende tabell fra katalogen inn i en Python DataFrame?

Velg det helt riktige svaret

Alt var klart?

Hvordan kan vi forbedre det?

Takk for tilbakemeldingene dine!

Seksjon 4. Kapittel 2

Spør AI

expand

Spør AI

ChatGPT

Spør om hva du vil, eller prøv ett av de foreslåtte spørsmålene for å starte chatten vår

Seksjon 4. Kapittel 2
some-alt