Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Introductie tot Spark DataFrames | Werken met Gegevens
Databricks Fundamentals: Een Beginnersgids

Introductie tot Spark DataFrames

Veeg om het menu te tonen

Note
Definitie

Een Spark DataFrame is een gedistribueerde verzameling gegevens die is georganiseerd in benoemde kolommen. Conceptueel is het gelijk aan een tabel in een relationele database of een spreadsheet met kolomkoppen, maar het is ontworpen om verwerkt te worden over een cluster van computers.

In sectie 4 verschuift de focus van de interface naar de gegevens zelf. Om effectief te werken in Databricks, is inzicht in de DataFrame essentieel. Dit is de fundamentele structuur die door Apache Spark wordt gebruikt om gegevens op te slaan en te bewerken. Of je nu Python, SQL of Scala gebruikt, vrijwel alles wat je doet zal betrekking hebben op het werken met een DataFrame.

Er is ook een Py Spark-interface die later gebruikt zal worden.

Apache Spark is een krachtige engine voor het verwerken van enorme hoeveelheden gegevens parallel over meerdere computers tegelijk. Het is geschreven in Scala en verzorgt het zware werk achter de schermen in Databricks.

PySpark is simpelweg de Python-interface voor Spark. Hiermee kun je gewone Python-code schrijven die stiekem aan Spark doorgeeft wat er moet gebeuren.

Dus wanneer je een df.filter() of df.groupBy() schrijft in een Databricks-notebook, schrijf je PySpark — maar Spark verwerkt daadwerkelijk miljoenen rijen over je cluster.

De Spreadsheet-analogie

De eenvoudigste manier om een DataFrame te visualiseren is door te denken aan een enkel werkblad in een Excel-werkmap. Het bevat rijen met gegevens en kolommen met specifieke namen zoals "Date", "Product_ID" of "Price". In tegenstelling tot een Excel-blad dat op je laptop staat, is een Spark DataFrame echter gedistribueerd. Dit betekent dat als je dataset te groot is voor één computer, Spark het "spreadsheet" opdeelt in kleinere stukken en deze verspreidt over de verschillende knooppunten in je cluster.

Waarom DataFrames gebruiken in plaats van ruwe bestanden?

Wanneer je een ruwe CSV- of JSON-bestand in een DataFrame inleest, doet Databricks twee belangrijke dingen:

  • Schema-inferentie: het analyseert de gegevens om te begrijpen dat "Price" een getal is en "Name" tekst is;
  • Optimalisatie: zodra de gegevens in een DataFrame staan, kan Spark zijn "optimizer" gebruiken om de snelste manier te vinden om die gegevens te filteren of te aggregeren. Het werkt als een GPS en zoekt de meest efficiënte route naar je resultaat, zodat je geen rekenkracht verspilt.

Belangrijkste kenmerken

Er zijn drie hoofdkenmerken van DataFrames die je moet onthouden:

  • Onveranderlijk: zodra een DataFrame is aangemaakt, kan deze niet meer worden gewijzigd. Als je de data "opschoont" of een kolom "verwijdert", maakt Spark eigenlijk een nieuw DataFrame met die wijzigingen toegepast. Dit waarborgt de gegevensintegriteit;
  • Lui evalueren: Spark voert pas daadwerkelijk werk uit wanneer je om een resultaat vraagt (zoals een telling of een weergave). Het bouwt eerst een "plan" en voert dit alleen uit wanneer het echt nodig is;
  • Uniforme API: je kunt een DataFrame aanmaken met Python en deze vervolgens bevragen met SQL. De onderliggende structuur blijft hetzelfde, waardoor het "mixen van talen" mogelijk is, zoals we in Sectie 3 hebben geoefend.

DataFrames versus Tabellen

In Databricks worden de termen "Tabel" en "DataFrame" vaak door elkaar gebruikt, maar er is een klein verschil. Een Tabel is een permanent object dat is opgeslagen in je Catalogus. Een DataFrame is een tijdelijk object dat in het geheugen van het cluster bestaat zolang je notebook actief is.

Meestal ziet je workflow er als volgt uit:

  • Data laden uit de Catalogus in een DataFrame;
  • Het DataFrame manipuleren met code;
  • Het eindresultaat terug opslaan in de Catalogus als een Tabel.

1. Hoe gaat een Spark DataFrame om met een dataset die te groot is voor één enkele computer?

2. Wat gebeurt er wanneer je een DataFrame in Spark "wijzigt", bijvoorbeeld door een kolom te verwijderen?

question mark

Hoe gaat een Spark DataFrame om met een dataset die te groot is voor één enkele computer?

Selecteer het correcte antwoord

question mark

Wat gebeurt er wanneer je een DataFrame in Spark "wijzigt", bijvoorbeeld door een kolom te verwijderen?

Selecteer het correcte antwoord

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 4. Hoofdstuk 1

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 1
some-alt