Takk for at du sendte din henvendelse! En av våre teammedlemmer vil kontakte deg straks.
Takk for at du sendte din bestilling! En av våre teammedlemmer vil kontakte deg straks.
Varighet 21 timer
Kursplan
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
Krav
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.
Referanser (1)
Jeg likte at det var praktisk. Elsket å anvende den teoretiske kunnskapen med praktiske eksempler.
Aurelia-Adriana - Allianz Services Romania
Kurs - Python and Spark for Big Data (PySpark)
Maskinoversatt