Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Gegevens uit een Bestand Laden in een DataFrame | Werken met Gegevens
Databricks Fundamentals: Een Beginnersgids

Gegevens uit een Bestand Laden in een DataFrame

Veeg om het menu te tonen

Note
Definitie

Het spark.read-object is het startpunt voor het inlezen van externe gegevens in een Spark DataFrame. Het ondersteunt verschillende bestandsformaten, waaronder CSV, JSON, Parquet en Delta, en stelt je in staat te bepalen hoe Spark de bestanden moet interpreteren.

In Sectie 2 heb je een CSV-bestand geüpload naar de Databricks-omgeving. Nu leer je hoe je dat bestand uit de opslag "ophaalt" en in het geheugen van het cluster brengt als een DataFrame met behulp van Python. Dit is de eerste stap in vrijwel elke data-engineering pipeline.

De spark.read-syntaxis

Om een bestand te laden, gebruiken we een specifieke reeks commando's. De basisstructuur ziet er als volgt uit:

df = spark.read.format("csv").option("header", "true").load("path/to/file")
  • format: geeft aan welk type bestand Spark gebruikt (csv, json, parquet);
  • option("header", "true"): geeft aan dat Spark de eerste rij van het bestand als kolomnamen gebruikt;
  • load: de specifieke locatie van het bestand binnen Databricks.

Schema automatisch laten afleiden

Standaard gaat Spark ervan uit dat elke kolom in een CSV een string (tekst) is. Om de data bruikbaarder te maken, voegen we een extra optie toe: .option("inferSchema", "true"). Wanneer dit is ingeschakeld, bekijkt Spark snel de data en bepaalt automatisch welke kolommen gehele getallen, decimalen of booleans zijn. Dit bespaart het handmatig definiëren van gegevenstypen.

Het vinden van het bestandspad

Voor het lezen van een bestand heb je het pad nodig. In het tabblad Catalogus of Werkruimte kun je het geüploade bestand vinden, op de drie puntjes (ellipsis) ernaast klikken en "Pad kopiëren" selecteren. In moderne Databricks, als je het bestand hebt geüpload via de Data Ingestion UI zoals in hoofdstuk 2.6, is de data al opgeslagen als een tabel, die we kunnen lezen met:

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

Als je echter het ruwe bestand direct vanaf een Volume leest, gebruik je het bestandspad:

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

Laden controleren

Na het uitvoeren van het laadcommando is het best practice om de data te verifiëren. Je volgt direct na je read-commando met: display(df)

Dit bevestigt dat de data correct in het geheugen van de cluster is geladen, de kolomnamen op de juiste plaats staan en de gegevenstypen kloppen. Op dit moment bevindt de data zich in een tijdelijk object genaamd df en ben je klaar om deze te transformeren.

1. Waarom zou je de instelling .option("inferSchema", "true") gebruiken bij het lezen van een CSV-bestand?

2. Welk commando wordt gebruikt om een bestaande tabel uit de Catalogus in een Python DataFrame te laden?

question mark

Waarom zou je de instelling .option("inferSchema", "true") gebruiken bij het lezen van een CSV-bestand?

Selecteer het correcte antwoord

question mark

Welk commando wordt gebruikt om een bestaande tabel uit de Catalogus in een Python DataFrame te laden?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 2

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

Sectie 4. Hoofdstuk 2
some-alt