Course Code: pysprkub
Duration: 21 hours

Prerequisites:

Úč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.

Overview:

Tento třídní praktický kurz se zaměřuje na vytváření a optimalizaci efektivních úloh pro zpracování dat pomocí PySpark, Pandas a Polars v prostředí založeném na Kubernetes.

Účastníci získají praktické pochopení toho, jak se aplikace Spark spouštějí v Kubernetes a jak rozhodnutí o konfiguraci na úrovni aplikace ovlivňují výkon, škálovatelnost, spotřebu zdrojů a náklady. Kurz pokrývá klíčové oblasti optimalizace, včetně dimensionování executorů, alokace paměti, dynamické alokace, strategií rozdělování (partitioning), chování shuffle, problémů s malými soubory a efektivního zpracování formátu Parquet.

Kurz též řeší běžné výzvy při práci s Pandas, včetně omezení paměti a chyb přetečení paměti (out-of-memory), a představuje Polars jako výkonnou alternativu pro vybrané úlohy zpracování dat. Prostřednictvím praktických cvičení budou účastníci diagnostikovat problémy s výkonem a pamětí, porovnávat různé strategie konfigurace a aplikovat techniky optimalizace na realističné scénáře ETL a strojového učení.

Důraz je po celý kurz kladen na praktické rozhodování: pochopení toho, jak identifikovat láhlová hrdla, vybrat vhodný nástroj, efektivně nakonfigurovat Spark a najít rovnováhu mezi výkonem a spotřebou zdrojů infrastruktury a náklady.

Course Outline:

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

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