Kurzy a certifikace Open Source
Apache Spark for Data Engineers - Advanced Optimizations & Delta-Lake
Cena (bez DPH)
Apache Spark je distribuovaný výpočetní engine, který poskytuje unifikovaný framework pro zpracování velkých objemů dat, interaktivní analýzu, machine learning, analýzu grafu a streaming. V průběhu posledních několika let se stává standardem pro zpracování těchto workloadů a to nejen v prostředí velkých dat. Jedním z důvodů proč roste popularita Sparku je také jeho programové API, neboli tzv. DataFramy, které nabízejí univerzální datovou abstrakci, již je možné použít ve všech výše zmíněných oblastech.
Toto školení je orientované na pokročilé oblasti Spark SQL, které mají vliv na výkon výsledného Sparkového jobu, jako např. optimalizace exekučního plánu, eliminace shufflu, správný partitioning dat, data-reuse a další. Dalším tématem tohoto školení jsou moderní tabulkové formáty jako je Delta-Lake, díky kterým je možné atomicky pracovat s daty a využít tabulková metada pro usnadnění celé řady netriviálních operací. Cílem školení je osvojit si několik základních technik pro dosažení maximálního výkonu Sparkových jobů a naučit se ve Sparku efektivně pracovat s Delta tabulkami.
Školení probíhá v programovacím jazyku Python v lokálním prostředí (Spark 3.x + Jupyter notebook).
Cílová skupina:
Datoví inženýři, scientisti, analysti a další uživatelé Sparku, kteří již mají se Sparkem nějakou zkušenost a chtějí se naučit optimalizovat Sparkové joby pro dosažení maximálního výkonu.
Cíle kurzu:
- Rozumět a orientovat se ve fyzických plánech Spark SQL
- Přepsat query za účelem dosažení efektivnějšího plánu
- Používat některá konfigurační nastavení
- Připravit Sparkem data pro efektivní analytiku ve Sparku
- Diagnostikovat botlneck Sparkoveho jobu
- Pochopit význam moderních tabulkových formátů
- Naučit se pracovat s Delta tabulkami
Garant kurzu:
David pracuje v Emplifi (dříve Socialbakers) jako datový inženýr. Na denní bázi se zabývá optimalizací Spakových aplikací a vyvíjí Sparkové joby, které zpracovávají data na různých škálách od jednotek GBs až po desítky TBs. Vedle toho se zabývá výukou Sparkových trainingů a jeho školeními již prošla celá řada týmů zejména datový analytici, scientisti a inženýři. David je také Sparkovým kontributorem, přispěl do zdrojového kódu a pravidelně mluví na konferencích a meetupech jako je Spark + AI Summit, MLPrague nebo Spark + AI Prague meetup.
Osnova:
Spark SQL internals (Query Execution)
- Logical planning (Catalog, Analyzer, Cache Management, Optimizer)
- Physical planning
- Query planner, strategies
- Spark plan
- Executed plan
- Understanding operators in the physical plan
Query optimization
- Shuffle elimination
- Bucketing
- Data repartition (when and how)
- Data reuse
Optimization tips
- Choose the appropriate number of shuffle partitions
- Nondeterministic expressions
- Configuration settings
Data layout
- Partitioning and bucketing
- How bucketing works
- When it makes sense
- Hive tables
- Data upsert
- Schema evolution
- Discussing various problems and challenges
- Delta-Lake
- Basic features (table history, timel travel, optimize, cacuum)
- Schema evolution
- Data Change Feed
- Advanced features (Liquid Clustering, Deletion Vectors,...)
Předpoklady účastníka:
Tento kurz je navazujícím kurzem ke školení Apache Spark - od jednoduchých transformací po vysoce výkonné joby, ve kterém člověk mimo jiné získá dobrou znalost DataFramového API a základní přehled o interních procesech ve Sparku.
Pro absolvování tohoto kurzu je tedy dobré mít předchozí zkušenosti se Sparkem (např. na úrovni výše zmíněného kurzu), znát DataFramové API a chápat základní principy distribuovaného počítání.