Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Indlæsning af Data fra en Fil til en DataFrame | Arbejde med Data
Databricks Grundlæggende: En Begyndervejledning

Indlæsning af Data fra en Fil til en DataFrame

Stryg for at vise menuen

Note
Definition

Objektet spark.read er indgangspunktet for at læse eksterne data ind i en Spark DataFrame. Det understøtter forskellige filformater, herunder CSV, JSON, Parquet og Delta, og giver dig mulighed for at definere, hvordan Spark skal fortolke filerne.

I sektion 2 uploadede du en CSV-fil til Databricks-miljøet. Nu lærer du, hvordan du "løfter" denne fil fra lageret og bringer den ind i clusterens hukommelse som en DataFrame ved hjælp af Python. Dette er det første trin i næsten enhver data engineering-pipeline.

Syntax for spark.read

For at indlæse en fil bruger vi en specifik kæde af kommandoer. Den grundlæggende struktur ser sådan ud:

df = spark.read.format("csv").option("header", "true").load("path/to/file")
  • format: angiver filtypen til Spark (csv, json, parquet);
  • option("header", "true"): angiver, at Spark skal bruge den første række i filen som kolonnenavne;
  • load: den specifikke placering af filen i Databricks.

Udledning af skema

Som standard antager Spark, at hver kolonne i en CSV er en streng (tekst). For at gøre dataene mere anvendelige tilføjes en ekstra mulighed: .option("inferSchema", "true"). Når dette er aktiveret, gennemgår Spark hurtigt dataene og identificerer automatisk, hvilke kolonner der er heltal, decimaler eller booleans. Dette sparer manuelt arbejde med at definere datatyper selv.

Find din filsti

For at læse en fil skal du kende dens sti. I fanen Catalog eller Workspace kan du finde din uploadede fil, klikke på de tre prikker (ellipsis) ved siden af den og vælge "Copy path". I moderne Databricks, hvis du har uploadet filen via Data Ingestion UI som vi gjorde i Kapitel 2.6, er dataene allerede gemt som en tabel, som vi kan læse ved hjælp af:

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

Hvis du derimod læser råfilen direkte fra et Volume, skal du bruge filstien:

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

Verificering af indlæsning

Efter at have kørt indlæsningskommandoen, er det god praksis at verificere dataene. Du bør straks følge din read-kommando med: display(df)

Dette bekræfter, at dataene er blevet indlæst korrekt i clusterens hukommelse, at overskrifterne er placeret korrekt, og at datatyperne ser korrekte ud. På dette tidspunkt ligger dataene i et midlertidigt objekt kaldet df, og du er klar til at begynde at transformere dem.

1. Hvorfor bør du bruge indstillingen .option("inferSchema", "true") når du læser en CSV-fil?

2. Hvilken kommando bruges til at hente en eksisterende tabel fra kataloget ind i en Python DataFrame?

question mark

Hvorfor bør du bruge indstillingen .option("inferSchema", "true") når du læser en CSV-fil?

Vælg det korrekte svar

question mark

Hvilken kommando bruges til at hente en eksisterende tabel fra kataloget ind i en Python DataFrame?

Vælg det korrekte svar

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 4. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 4. Kapitel 2
some-alt