Neem contact met ons op
 Duur 21 uren

Cursusaanbod

Module 1: Fundamenten van Big Data & Spark

  • Overzicht van het Big Data-ecosysteem en de rol van Spark in moderne data-platforms
  • Inzicht in de architectuur van Spark: driver, executors, cluster manager, lazy evaluation, DAG en uitvoeringsplanning
  • Verschillen tussen RDD- en DataFrame-API's en wanneer elke aanpak te gebruiken
  • Aanmaken en configureren van een SparkSession en fundamentele begrippen van toepassingsconfiguratie begrijpen

Module 2: PySpark DataFrames

  • Data inlezen en schrijven vanuit bedrijfsbronnen en formaten: CSV, JSON, Parquet en Delta
  • Werken met PySpark DataFrames: transformaties, acties, kolomexpressies, filtreren, joins en aggregaties
  • Implementeren van geavanceerde operaties zoals window functions, afhandelen van timestamps en werken met geneste data
  • Toegeven van datakwaliteitscontroles en het schrijven van herbruikbare, onderhoudbare PySpark-code

Module 3: Basis van Kubernetes & Docker voor Spark-gebruikers

  • Snappen hoe Docker-images en Kubernetes-pods samenhangen met Spark driver- en executor-processen — een conceptueel overzicht voor clustergebruikers, niet beheerders
  • Inzicht krijgen in wat er gebeurt wanneer een Spark-job op Kubernetes draait: pod-planning, bronverzoeken en limieten, en hoe sessie-instellingen hierop worden afgebeeld
  • Begrip van wat u controleert via Spark-sessieparameters versus wat het platformteam beheert via clusterprovisie — en waarom deze grens van belang is voor tuning
  • Praktische oefening: Onderzoek een draaiende Spark-on-Kubernetes-job in de sandbox-cluster en identificeer de driver- en executor-pods

Module 4: Spark-sessieconfiguratie op Kubernetes — Diepte-inzicht

  • Executor-aantal versus executorgrootte: afwegingen tussen geheugen en cores en hoe hierover na te denken
  • Geheugentoewijzing voor driver en executor, geheugenoverhead, en hoe deze zich vertalen tot pod-bronnen
  • Dynamische toewijzing: hoe dit op Kubernetes werkt, wanneer het bronnen bespaart en wanneer niet
  • Praktische oefening: Voer dezelfde job uit met verschillende executor- en core-configuraties en vergelijk de runtime en het bronverbruik

Module 5: Schaalgedrag & Kostenoptimalisatie

  • Inzicht in hoe toevoegen of verwijderen van nodes het gedrag, de voltooiingstijd en het bronverbruik van een job verandert
  • Veel kleine executors vergelijken met minder grote: prestatie- en kostenafwegingen
  • Shuffle-gedrag en tuning van shuffle-partities, inclusief schatting van de kostenvolgen van keuzes in de configuratie
  • Praktische oefening: Schaal de sandbox-cluster op van vijf naar tien nodes en observeer het effect op de job-voltooiingstijd en het bronverbruik

Module 6: Efficiënte Data-inname & Partitionering

  • Inzicht in het kleine-bestandenprobleem: waarom bronnen die verspreid zijn over veel kleine (1–5 MB) Parquet-bestanden de prestaties verlagen en de partitionering vervormen
  • Strategieën voor repartitioneren en coalescen
  • Partitiesgrootte beheren bij het inlezen en schrijven
  • Parquet efficiënt schrijven om het kleine-bestandenprobleem downstream te vermijden
  • Praktische oefening: Laad een dataset op die bestaat uit veel kleine Parquet-partities, pas verschillende repartitioneringsstrategieën toe en vergelijk de prestaties vóór en ná optimalisatie

Module 7: Geheugenbeheer & Foutdiagnose in Pandas

  • De onderliggende oorzaken van out-of-memory-fouten in Pandas begrijpen en de symptomen herkennen
  • Geheugenefficiënte conversiemodellen toepassen tussen Spark en Pandas
  • Geheugenexplosies vermijden bij het schrijven van grote datasets naar CSV
  • Chunkverwerking en dtype-optimalisatie gebruiken in beperkte omgevingen
  • Praktische oefening: Reproduceer een typische Pandas-out-of-memory-situatie en los deze op met chunking en dtype-optimalisatie

Module 8: Polars als aanvullend tool

  • Polars positioneren ten opzichte van Pandas: prestatiekenmerken, lazy evaluation en gedrag van het geheugen
  • Begrijpen waar Polars past naast PySpark en Pandas in moderne cloud-datastacks en migratiepaden, inclusief AWS-omgevingen
  • Praktische oefening: Herschrijf een Pandas-intensieve transformatie in Polars en vergelijk het geheugengebruik en de verwerkingssnelheid

Module 9: Toepassing van optimalisatie op ETL- & ML-workloads

  • Configuratie-, partitionerings- en geheugenbeheerprincipes toepassen op een realistische ETL-pipeline
  • Optimalisatieoverwegingen begrijpen die specifiek zijn voor machinelearning-workloads die op dezelfde cluster draaien
  • Een praktische tuning-workflow toepassen om kosten- en prestatieproblemen systematisch te diagnosticeren
  • Praktische oefening: Voltooi een end-to-end miniproject dat data-inlezen, transformatie en een eenvoudige modeltrainingsstap combineert, waarbij deelnemers de Spark-configuratie zelf tunen

Vereisten

Deelnemers moeten beschikken over:

  • Praktische ervaring met Python-programmeren, waaronder functies, modules en basisobjectgerichte concepten.
  • Basis- tot intermediaire ervaring met het werken aan Pandas en workflows voor tabulaire dataverwerking.
  • Basiskennis van PySpark en Spark DataFrames, waaronder het inlezen van data, transformaties, acties, joins en aggregaties.
  • Een algemene begrip van SQL en dataverwerkingsconcepten, waaronder filtreren, groeperen en joinen van datasets.
  • Basiskennis van Docker- en Kubernetes-concepten, zoals containers, images en pods. Er is geen ervaring met Kubernetes-beheer vereist.
  • Basisbegrip van veelvoorkomende dataformaten zoals CSV, JSON en Parquet.

Deelnemers hoeven geen Kubernetes-beheerders of infrastructuurspecialisten te zijn. De cursus richt zich op hoe data-engineers, ontwikkelaars en data-wetenschappers hun Spark-workloads die op Kubernetes draaien, vanuit het perspectief van toepassing en configuratie kunnen begrijpen en optimaliseren.

Doeleindgroep

Deze cursus is ontworpen voor professionals die dataverwerkings- en machinelearning-workloads ontwikkelen, onderhouden of optimaliseren met Python en Spark in cloud- of gecontaineriseerde omgevingen.

Hij is met name geschikt voor:

  • Data-Engineers die werken met PySpark, gedistribueerde dataverwerking en ETL-pipelines.
  • Data-Wetenschappers die grote datasets verwerken of machinelearning-workloads draaien met Spark, Pandas of Polars.
  • Python-Ontwikkelaars die werken aan data-intensieve toepassingen en streven naar betere geheugenefficiëntie en verwerkingsprestaties.
  • Machine Learning Engineers die data-voorbereiding en modeltrainingsworkloads beheren op gedeelde Kubernetes- of cloudomgevingen.
  • Analyse Engineers die werken met grote datasets en streven naar verbeterde dataverwerkingsefficiëntie.
  • DevOps-, Platform- en Cloud Engineers die Spark-workloads op Kubernetes ondersteunen en moeten begrijpen hoe configuratie op toepassingsniveau het bronverbruik en de prestaties beïnvloedt.
  • Technische Leiders en Solution Architects die betrokken zijn bij het ontwerpen of optimaliseren van moderne dataverwerkingsplatforms.

Aantal deelnemers


Prijs per deelnemer

Getuigenissen (1)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën