Děkujeme za vaši dotaz! Jeden z našich pracovníků vás brzy kontaktuje.
Děkujeme za rezervaci! Jeden z našich pracovníků vás brzy kontaktuje.
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.
Reference (1)
Líbilo se mi, že to bylo praktické. Miloval jsem aplikovat teoretické znalosti na praktické příklady.
Aurelia-Adriana - Allianz Services Romania
Kurz - Python and Spark for Big Data (PySpark)
Přeloženo strojem