Kurzy a certifikace Open Source

Big data

Apache Spark for Data Engineers - Advanced Optimizations

15.000 CZK
Days1
13. 12. 2019
Praha
CZ

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).

Cílová 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.

Cíle kurzu

  • Diagnostikovat botlneck Sparkového jobu
  • 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

Garant kurzu

David Vrba Ph.D.

David pracuje v Socialbakers na pozici Data Science a zabývá se zde prediktivní analytikou a zpracováním malých i velkých objemů dat, optimalizuje Sparkové joby a vede výukové tréningy zaměřené na Spark. Pracuje v týmu kde se Spark integruje s dalšími technologiemi a svět data science se tu potkává se světem data engineeringu.

Osnova

Different file formats

  • Parquet vs Json vs CSV

Spark SQL internals

  • Logical planning
    • Catalyst API
    • Extending the optimizer
    • Limiting the optimizer
  • Physical planing
    • Understanding operators in physical plan
  • Cost based optimizer
    • How cost based optimizations work
    • Statistics collection
    • Statistics usage

LAB I

  • Implement simple optimization rule

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

Shuffle partitions

  • Choose appropriate number of shuffle partitions

Data layout - Partitioning and bucketing

  • How bucketing works
  • How to ensure appropriate number of files

Lab III

  • Prepare data for analytical queries

 

Předpoklady na úč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í.

Poptejte kurz u nás

Kurzy
Submit
* Povinné pole