Course Code: pysprkub
Duration: 21 hours

Prerequisites:

Deltakerne bør ha:

  • Praktisk erfaring med Python-programmering, inkludert funksjoner, moduler og grunnleggende objektorienterte konsepter.
  • Grunnleggende til mellomnivå erfaring med arbeid i Pandas og tabellbaserte databehandlingsarbeidsflyter.
  • Grunnleggende kjennskap til PySpark og Spark DataFrames, inkludert lesing av data, transformasjoner, handlinger, koblinger (joins) og aggregeringer.
  • Generell forståelse av SQL og databehandlingskonsepter, inkludert filtrering, gruppering og sammenkobling av datasamlinger.
  • Grunnleggende kjennskap til Docker og Kubernetes-konsepter, som konteiner, bilder og pods. Kunnskap i Kubernetes-administrasjon kreves ikke.
  • Grunnleggende forståelse vanlige dataformater som CSV, JSON og Parquet.

Deltakerne behøver ikke å være Kubernetes-administratorer eller infrastrukturere. Kurset fokuserer på hvordan dataingeniører, utviklere og datasientister kan forstå og optimalisere sine Spark-arbeidsflyter som kjører på Kubernetes fra et applikasjons- og konfigurasjonsperspektiv.

Målgruppe

Dette kurset er designet for fagfolk som utvikler, vedlikeholder eller optimaliserer databehandlings- og maskinlæringsarbeidsflyter med bruk av Python og Spark i sky- eller konteinerbaserte miljøer.

Det er spesielt egnet for:

  • Dataingeniører som arbeider med PySpark, distribuert databehandling og ETL-piper.
  • Datasientister som behandler store datasets eller kjører maskinlæringsarbeidsflyter med Spark, Pandas eller Polars.
  • Python-utviklere som jobber med dataintensive applikasjoner og ønsker å forbedre minneeffektivitet og behandlingsytelse.
  • Maskinlæringsingeniører som håndterer forberedelse av data og modelltrening på felles Kubernetes- eller skymiljøer.
  • Analysingeniører som arbeider med store datasets og søker å forbedre databehandlingseffektivitet.
  • DevOps-, plattform- og skyingeniører som støtter Spark-arbeidsflyter på Kubernetes og trenger å forstå hvordan applikasjonskonfigurasjon påvirker ressursbruk og ytelse.
  • Tekniske ledere og løsningsarkitekter som er involvert i å designe eller optimalisere moderne databehandlingsplattform.

Overview:

Dette tre-dagers praktiske kurset fokuserer på å bygge og optimalisere effektive databehandlingsarbeidsflyter ved hjelp av PySpark, Pandas og Polars i Kubernetes-baserte miljøer.

Deltakerne vil utvikle en praktisk forståelse av hvordan Spark-applikasjoner kjører på Kubernetes, og hvordan konfigurasjonsvalg på applikasjonsnivå påvirker ytelse, skalerbarhet, ressursforbruk og kostnader. Kurset dekker viktige optimaliseringsområder, inkludert executor-størrelse, minneallokering, dynamisk allokering, partisjoneringsstrategier, shuffle-opptreden, problemer med små filer og effektiv Parquet-behandling.

Kurset adresserer også vanlige utfordringer ved bruk av Pandas, inkludert minnebegrensninger og minnefeil (out-of-memory), og introducerer Polars som et høytytende alternativ for utvalgte databehandlingsoppgaver. Gjennom praktiske øvelser vil deltakerne diagnostisere ytelses- og minneproblemer, sammenligne ulike konfigurasjonsstrategier og anvende optimaliseringsteknikker på realistiske ETL- og maskinlærings scenarioer.

Fokus i hele kurset ligger på praktisk beslutningstaking: å forstå hvordan man identifiserer flaskehalser, velger riktig verktøy, konfigurerer Spark effektivt og balanserer ytelse mot infrastrukturressursforbruk og kostnader.

Course Outline:

Modul 1: Big Data og Spark-grunnlag

  • oversikt over Big Data-økosystemet og Sparks rolle i moderne dataplattformer
  • Forståelse av Spark-arkitektur: driver, executorer, klyngeadministrator, lat evaluering (lazy evaluation), DAG og eksekveringsplanlegging
  • Forskjeller mellom RDD- og DataFrame-APIer og når man skal bruke hver tilnærming
  • Oppretting og konfigurasjon av SparkSession og forståelse av grunnleggende applikasjonskonfigurasjon

Modul 2: PySpark DataFrames

  • Lesing og skriving av data fra enterprise-kilder og formater: CSV, JSON, Parquet og Delta
  • Arbeid med PySpark DataFrames: transformasjoner, handlinger, kolonneuttrykk, filtrering, koblinger og aggregeringer
  • Implementering av avanserte operasjoner som vindusfunksjoner, håndtering av tidsstempleter og arbeid med nøstet data
  • Anvendelse av datakvalitetskontroller og skriving av gjenbrukbar, vedlikeholdbar PySpark-kode

Modul 3: Kubernetes- og Docker-grunnlag for brukere av Spark

  • Forståelse av hvordan Docker-bilder og Kubernetes-pods relaterer seg til Spark driver- og executor-prosesser – et konseptuelt perspektiv for klyngebrukere, ikke administratører
  • Forståelse av hva som skjer når en Spark-jobb kjører på Kubernetes: pod-innscheduling, ressursforespørsler og begrensninger, og hvordan sessionsinnstillinger kartlegges på dem
  • Forståelse av hva du kontrollerer via Spark-sesjonsparametere i motsetning til hva plattformteamet kontrollerer via klyngeprovisjonering – og hvorfor denne grensen er viktig for justering
  • Praktisk øvelse: Inspeksjon av en kjørende Spark-on-Kubernetes-jobb i sandbox-klyngen og identifisering av driver- og executor-pods

Modul 4: Spark Sessions konfigurasjon på Kubernetes – Dypdykk

  • Forståelse av antall executorer versus executor-størrelse: minne-mot-kjerne-trade-offs og hvordan man resonnerer om dem
  • Minneallokering for driver og executorer, minne-overhead, og hvordan dette oversettes til pod-ressurser
  • Dynamisk allokering: hvordan den oppfører seg på Kubernetes, når den sparer ressurser og når den ikke gjør det
  • Praktisk øvelse: Kjør samme jobb under ulike executor- og kjernekonfigurasjoner og sammenlån kjøretid og ressursbruk

Modul 5: Skalerbarhetsopptreden og kostnadsoptimalisering

  • Forståelse av hvordan tilføyelse eller fjerning av noder endrer jobbopptreden, fullførings tid og ressursforbruk
  • Sammenligning av mange små executorer versus færre store: ytelses- og kostnadstrade-offs
  • Shuffle-opptreden og justering av shuffle-partisjoner, inkludert estimering av kostnadspåvirkning av konfigurasjonsvalg
  • Praktisk øvelse: Skaler sandbox-klyngen fra fem til ti noder og observer effekten på jobbfullførings tid og ressursforbruk

Modul 6: Effektiv datainnhenting og partisjonering

  • Forståelse av problemet med små filer: hvorfor kilder fordelt over mange Parquet-filer på 1–5 MB forringer ytelsen og forvrenger partisjonering
  • Strategier for ompartisjonering og sammenslåing (coalescing)
  • Kontroll av partisjonsstørrelse ved lesing og ved skriving
  • Skrive Parquet effektivt for å unngå å gjenopprette problemet med små filer nedstrøms
  • Praktisk øvelse: Last inn et dataset bestående av mange små Parquet-partisjoner, anvend ulike ompartisjoneringsstrategier og sammenlån ytelsen før og etter optimalisering

Modul 7: Minnehåndtering og feildiagnostikk i Pandas

  • Forståelse av rotårsakene til minnefeil (out-of-memory) i Pandas og gjenkjenning av symptomer
  • Anvendelse av minneeffektive konverteringsmønstre mellom Spark og Pandas
  • Unngåelse av minneeksplosjoner ved skriving av store datasets til CSV
  • Bruk av stykkevis bearbeiding (chunked processing) og dtype-optimalisering for begrenset miljøer
  • Praktisk øvelse: Reprodusér et typisk Pandas minnefeil-skenario og løs det ved hjelp av stykkevis bearbeiding og dtype-optimalisering

Modul 8: Polars som et komplementært verktøy

  • Plassering av Polars i forhold til Pandas: ytelsesegenskaper, lat evaluering og minneopptreden
  • Forståelse av hvor Polars passer sammen med PySpark og Pandas i moderne skydata-stacks og migrasjonsveier, inkludert AWS-miljøer
  • Praktisk øvelse: Skriv om en Pandas-tung transformasjon i Polars og sammenlån minnebruk og behandlingshastighet

Modul 9: Anvendelse av optimalisering på ETL- og ML-arbeidsflyter

  • Anvendelse av prinsipper for konfigurasjon, partisjonering og minnehåndtering over en realistisk ETL-pipe
  • Forståelse av optimaliseringsvurderinger spesifikke for maskinlæringsarbeidsflyter som kjører på samme klynge
  • Anvendelse av en praktisk justeringsworkflow for systematisk å diagnostisere kostnads- og ytelsesproblemer
  • Praktisk øvelse: Fullfør et end-to-end mini-prosjekt som kombinerer datainnlasting, transformasjon og et enkelt steg for modelltrening, der deltakerne justerer Spark-konfigurasjonen selv

Sites Published:

United Arab Emirates - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Qatar - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Egypt - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Saudi Arabia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

South Africa - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Brasil - Processamento Eficiente de Dados no Kubernetes com PySpark, Pandas e Polars

Canada - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

中国 - 基于Kubernetes使用PySpark、Pandas和Polars实现高效数据处理

香港 - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

澳門 - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

台灣 - 使用PySpark、Pandas和Polars在Kubernetes上進行高效資料處理

USA - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Österreich - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes

Schweiz - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes

Deutschland - Effiziente Datenverarbeitung mit PySpark, Pandas und Polars auf Kubernetes

Czech Republic - Efektivní zpracování dat v Kubernetes pomocí PySpark, Pandas a Polars

Denmark - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Estonia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Finland - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Greece - Αποτελεσματική Επεξεργασία Δεδομένων σε Kubernetes με PySpark, Pandas & Polars

Magyarország - Hatékony adatfeldolgozás Kubernetesben PySpark, Pandas és Polars segítségével

Ireland - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Luxembourg - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Latvia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

España - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Italia - Elaborazione dati efficiente su Kubernetes con PySpark, Pandas e Polars

Lithuania - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Nederland - Efficiënte verwerking van data op Kubernetes met PySpark, Pandas & Polars

Norway - Effektiv databehandling på Kubernetes med PySpark, Pandas og Polars

Portugal - Processamento Eficiente de Dados no Kubernetes com PySpark, Pandas e Polars

România - Procesare eficientă a datelor pe Kubernetes cu PySpark, Pandas & Polars

Sverige - Effektiv datahantering med PySpark, Pandas och Polars på Kubernetes

Türkiye - Kubernetes Ortamında PySpark, Pandas ve Polars ile Verimli Veri İşleme

Malta - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Belgique - Traitement efficace des données sur Kubernetes avec PySpark, Pandas et Polars

France - Traitement efficace des données sur Kubernetes avec PySpark, Pandas et Polars

日本 - KubernetesにおけるPySpark、Pandas、Polarsによる効率的なデータ処理

Australia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Malaysia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

New Zealand - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Philippines - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Singapore - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Thailand - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Vietnam - Xử lý dữ liệu hiệu quả trên Kubernetes bằng PySpark, Pandas & Polars

India - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Argentina - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Chile - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Costa Rica - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Ecuador - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Guatemala - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Colombia - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

México - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Panama - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Peru - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Uruguay - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Venezuela - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Polska - Skuteczne przetwarzanie danych w Kubernetesie z wykorzystaniem PySpark, Pandas i Polars

United Kingdom - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

South Korea - PySpark, Pandas 및 Polars를 활용한 Kubernetes에서 효율적인 데이터 처리

Pakistan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Sri Lanka - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Bulgaria - Ефективна обработка на данни в Kubernetes с PySpark, Pandas и Polars

Bolivia - Procesamiento de datos eficiente en Kubernetes con PySpark, Pandas y Polars

Indonesia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Kazakhstan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Moldova - Procesare eficientă a datelor pe Kubernetes cu PySpark, Pandas & Polars

Morocco - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Tunisia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Kuwait - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Oman - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Slovakia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Kenya - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Nigeria - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Botswana - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Slovenia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Croatia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Serbia - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Bhutan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Nepal - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

Uzbekistan - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars

US Government - Efficient Data Processing on Kubernetes with PySpark, Pandas & Polars