Zkuste nás kontaktovat
 Doba trvání 21 hodiny

Návrh Školení

Modul 1: Základy Big Data a Sparku

  • Přehled ekosystému Big Data a role Sparku v moderních datových platformách
  • Pochopení architektury Sparku: driver, executory, cluster manager, lenivé vyhodnocování (lazy evaluation), DAG a plánování spuštění
  • Rozdíl mezi rozhraním RDD a DataFrame a kdy použít každý přístup
  • Vytvoření a konfigurace SparkSession a pochopení základů konfigurace aplikace

Modul 2: PySpark DataFrames

  • Čtení a zápis dat ze zdrojů a formátů enterprise: CSV, JSON, Parquet a Delta
  • Práce s PySpark DataFrames: transformace, akce, výrazy sloupců, filtrování, spojení a agregace
  • Implementace pokročilých operací, jako jsou okenní funkce, zpracování časových razítek a práce s vnořenými daty
  • Aplikace kontrol kvality dat a psaní opakovaně použitelného a udržovatelného kódu PySpark

Modul 3: Základy Kubernetes a Docker pro uživatele Sparku

  • Pochopení vztahu mezi obrazkami Docker a pods Kubernetes a procesy Spark driver a executor – koncepční pohled pro uživatele clusteru, nikoli pro administrátory
  • Pochopení toho, co se děje, když se úloha Spark spouští v Kubernetes: plánování pods, požadavky a limity zdrojů a jak se nastavení relace mapuje na tyto zdroje
  • Pochopení toho, co ovládáte prostřednictvím parametrů Spark session a co ovládá tým platformy prostřednictvím provisioningu clusteru – a proč je tato hranice důležitá pro ladění
  • Praktické cvičení: Zkontrolujte běžící úlohu Spark-on-Kubernetes v pískovišti (sandbox cluster) a identifikujte pods driver a executor

Modul 4: Konfigurace Spark Session v Kubernetes – Podrobně

  • Pochopení počtu executorů versus velikosti executoru: kompromisy mezi pamětí a jádry a jak o nich uvažovat
  • Alokace paměti pro driver a executory, přepych paměti (memory overhead) a jak se tyto hodnoty překládají na zdroje pods
  • Dynamická alokace: jak funguje v Kubernetes, kdy ušetří zdroje a kdy ne
  • Praktické cvičení: Spusťte stejnou úlohu za různých konfigurací executorů a jader a porovnejte čas spuštění a využití zdrojů

Modul 5: Chování škálování a optimalizace nákladů

  • Pochopení toho, jak přidávání nebo odebírání uzlů mění chování úlohy, čas dokončení a spotřebu zdrojů
  • Porovnání mnoha malých executorů versus menšího počtu velkých: kompromisy mezi výkonem a náklady
  • Chování shuffle a ladění shuffle partition, včetně odhadu dopadu konfigurace na náklady
  • Praktické cvičení: Zvětšete sandbox cluster z pěti na deset uzlů a sledujte vliv na čas dokončení úlohy a spotřebu zdrojů

Modul 6: Efektivní ingest a rozdělování dat

  • Pochopení problému malých souborů: proč zdroje rozdělené do mnoha malých souborů Parquet (1–5 MB) zhoršují výkon a zkreslují rozdělení (partitioning)
  • Strategie repartitioning a coalescing
  • Kontrola velikosti partition při čtení a zápisu
  • Efektivní zápis Parquet, aby se předešlo znovuvzniknutí problému malých souborů downstream
  • Praktické cvičení: Načtěte dataset složený z mnoha malých partition Parquet, aplikujte různé strategie repartitioning a porovnejte výkon před a po optimalizaci

Modul 7: Správa paměti v Pandas a diagnostika chyb

  • Pochopení příčin chyb přetečení paměti v Pandas a rozpoznání jejich příznaků
  • Aplikace vzorců pro úspornou konverzi paměti mezi Spark a Pandas
  • Prevence přetečení paměti při zápisu velkých datasetů do CSV
  • Použití zpracování po kusech (chunked processing) a optimalizace dtype pro omezená prostředí
  • Praktické cvičení: Reprodukujte typickou situaci přetečení paměti v Pandas a vyřešte ji pomocí chunking a optimalizace dtype

Modul 8: Polars jako doplňkový nástroj

  • Pozicování Polars oproti Pandas: vlastnosti výkonu, lenivé vyhodnocování a chování paměti
  • Pochopení toho, kde se Polars hodí vedle PySpark a Pandas v moderních cloudových datových stackech a migracích roadmapách, včetně prostředí AWS
  • Praktické cvičení: Přepišete transformaci intenzivně využitou v Pandas do Polars a porovnejte využití paměti a rychlost zpracování

Modul 9: Aplikace optimalizace na úlohy ETL a ML

  • Aplikace principů konfigurace, rozdělování a správy paměti napříč realističnou ETL pipeline
  • Pochopení zvážení optimalizace specifických pro úlohy strojového učení běžící na stejném clusteru
  • Aplikace praktického workflow pro ladění k systematické diagnostice problémů s náklady a výkonem
  • Praktické cvičení: Doplňte end-to-end mini-projekt kombinující načítání dat, transformace a jednoduchý krok trénování modelu, přičemž účastníci sami ladí konfiguraci Spark

Požadavky

Účastníci by měli mít:

  • Praktické zkušenosti s programováním v jazyce Python, včetně funkcí, modulů a základních konceptů objektově orientovaného programování.
  • Základní až středně pokročilé zkušenosti s prací s Pandas a workflowmi pro zpracování tabulkových dat.
  • Znalost základů PySpark a Spark DataFrames, včetně čtení dat, transformací, akcí, spojování (joins) a agregací.
  • Obecné pochopení SQL a konceptů zpracování dat, včetně filtrování,分组ování a spojování datasetů.
  • Základní obeznámenost s koncepty Docker a Kubernetes, jako jsou kontejnery, obrazky a pods. Zkušenosti s administrací Kubernetes nejsou požadovány.
  • Základní znalost běžných formátů dat, jako jsou CSV, JSON a Parquet.

Účastníci nemusí být administrátory Kubernetes ani specialisty na infrastrukturu. Kurz se zaměřuje na to, aby inženýři dat, vývojáři a data scientisti porozuměli a optimalizovali své úlohy Spark běžící v Kubernetes z pohledu aplikace a konfigurace.

Cílová skupina

Tento kurz je navržen pro profesionály, kteří vyvíjejí, udržují nebo optimalizují úlohy pro zpracování dat a strojové učení pomocí Pythonu a Sparku v cloudových nebo kontejnerizovaných prostředí.

Zvláště je vhodný pro:

  • Inženýry dat (Data Engineers) pracující s PySpark, distribuovaným zpracováním dat a ETL pipeline.
  • Data Scientisty zpracovávající velké sady dat nebo provozující úlohy strojového učení s Sparkem, Pandas nebo Polars.
  • Vývojáři Pythonu (Python Developers) pracující s datově náročnými aplikacemi a hledající způsoby, jak zlepšit efektivitu paměti a výkon zpracování.
  • Inženýry strojového učení (Machine Learning Engineers) spravující úlohy přípravy dat a trénování modelů na sdílených prostředích Kubernetes nebo cloud.
  • Analytics Engineers pracující s velkými datasety a hledající způsoby, jak zlepšit efektivitu zpracování dat.
  • Inženýry DevOps, Platform a Cloud, kteří podporují úlohy Spark v Kubernetes a potřebují porozumět tomu, jak konfigurace na úrovni aplikace ovlivňuje využití zdrojů a výkon.
  • Tech Leady a Architekty řešení (Solution Architects) zapojené do návrhu nebo optimalizace moderních platforem pro zpracování dat.

Počet účastníků


Cena za účastníka

Reference (1)

Nadcházející kurzy

Související kategorie