Detail kurzu
Apache Spark for Data Engineers - Advanced Optimizations
DataScript s.r.o.
Popis kurzu
V TĚCHTO MĚSÍCÍCH NABÍZÍME KURZY VE VIRTUÁLNÍ PODOBĚ.
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ší. Cílem školení je osvojit si několik základních technik pro dosažení maximálního výkonu Sparkových jobů.
Školení probíhá v programovacím jazyku Scala v lokálním prostředí (Spark 2.4 + Zeppelin notebook).
Obsah kurzu
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
David Vrba Ph.D.
David pracuje v Socialbakers jako data scientist a data engineer. 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ívá do zdrojového kódu a pravidelně mluví na konferencích a meetupech jako je Spark + AI Summit, MLPrague nebo Spark + AI Prague meetup.
Logical planning (Catalog, Analyzer, Cache Managerm, Optimizer)
Catalyst API
Extending the optimizer
Limiting the optimizer
Physical planing
Query planner, strategies
Spark plan
Executed plan
Understanding operators in physical plan
Cost based optimizer
How cost based optimizations work
Statistics collection
Statistics usage
Lab I
Implement simple optimization rule
Fix a query based on the information from the query plan
Query optimization
Shuffle elimination
Bucketing
Data repartition (when and how)
Optimizing joins
Shuffle-free join
One-side shuffle-free join
Broadcast join vs sort-merge join
Data reuse
Caching
Checkpointing
Exchange reuse
Lab II
Optimize queries
Optimization tips
Choose appropriate number of shuffle partitions
Nondeterministic expressions
Configuration settings
Data layout
Different file formats
Parquet vs Json
Partitioning and bucketing
How bucketing works
How to ensure appropriate number of files
Delta-io
Open source storage layer with ACID transactions
Lab III
Prepare data for analytical queries
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í.
Cieľová skupina
Datoví inženýři, scientisti 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.Hodnotenie
Organizátor
Podobné kurzy
podľa názvu a lokality