Detail kurzu
Apache Spark - od jednoduchých transformací po vysoce výkonné joby
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í pokrývá Spark ze třech různých perspektiv. První část je věnována programovému rozhraní DataFramového API PySparku, což umožní začít technologii velmi rychle používat ke psaní Sparkových aplikací a k interaktivní analýze dat v jazyce Python. V druhé části se zaměříme na architekturu Sparku, podíváme se na to, jak funguje DataFramové API i exekuční vrstva pod povrchem a ukážeme si, jak využít tuto znalost pro optimalizaci Sparkových aplikací. V poslední části se budeme zabývat možnostmi pokročilé analýzy dat, kterou Spark poskytuje skrze knihovny ML Pipelines a GraphFrames, ukážeme si, jak je možné analyzovat data z pohledu grafu a jak ve Sparku trénovat některé ML modely.
Obsah kurzu
Cíle kurzu- Základní koncepty technologie Apache Spark
- Jak používat DataFramové API v PySparku pro psaní ETL aplikací a interaktivní analýzu dat
- Jak fungují DataFramy pod povrchem
- Jak funguje optimalizační engine ve Sparku
- Jak probíhá exekuce Sparkové aplikace
- Jak rozumnět exekučním plánům a jak toho využít pro optimalizaci jobu
- Základní koncepty knihovny ML Pipelines pro machine learning
- Základní koncepty knihovny GraphFrames pro analýzu grafu
- Jak zpracovávat data v (téměř) reálném čase ve Sparku (Structured streaming)
- Jaké jsou novinky ve Sparku 2.3, 2.4, 3.0
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ě přednáší na konferencích a meetupech jako je Spark + AI Summit, MLPrague nebo Spark + AI Prague meetup.
Úvod do Apache Spark
Rámcový úvod do Sparku
Úvod do architektury Sparku
Spark APIs: high level vs low level vs internal APIs
Strukturované APIs v PySparku
Základní koncepty dataframového API
DataFrame, Row, Column, Schema
Operace v SparkSQL: transformace, akce
Práce s dataframem: vytvoření a základní transformace
Práce s různými datovými typy (Integer, String, Date, Timestamp, Boolean)
Filtrování
Podmínky
Nakládání s null hodnotami
Práce s různými datovými formáty (parquet, json, csv)
Lab I
Jednoduché ETL
Pokročilé operace s DataFramy
DataFramové DSL vs SQL
Aggregace a window funckce
Joiny
Uživatelem definované funkce (vanila Python & Pandas UDFs)
Práce s komplexními datovými typy (higher order funkce)
Lab II
Analýza dat pomocí DataFramového API
Metastore a tabulky
Catalog API
Vytvoření tabulky
Ukládání dat
Na co si dát pozor
Labl III
Ukládání dat a práce s tabulkami
Interní procesy ve Spark SQL
Catalyst - Optimalizační engine ve Sparku
Logické plánování
Fyzické plánování
Exekuční vrstva
Úvod do nízko-úrovňových APIs - RDDs
Struktura Sparkového jobu (Stages, Tasks, Shuffle)
DAG Scheduler
Lifecycle Sparkové aplikace
Lab IV
Spark UI
Performance tuning
Persistence dat (checkpointing, caching)
Bucketing a partitioning
Nejčastější bottlnecky ve Sparkových aplikacích
Optimalizační tipy
Úvod do pokročilé analytiky ve Sparku
Machine learning - základní koncepty ML Pipelines (Transformer, Estimator, Evaluator, Pipeline)
Analýza grafu - zákldadní koncepty knihovny GraphFrames
Lab V
Machine Learning a graph processing
Strukturované streamování (Structured Streaming API)
Základní koncepty streamingu ve Sparku
Stateful vs stateless transformace
Event time processing
Co je to watermark a jak se používá pro uzavření stavu
K absolvování kurzu není zapotřebí žádná předchozí znalost technologie Apache Spark. Určitou výhodou je základní znalost jazyků Python a SQL, není to však nutnou podmínkou pro absolvování. Kurz je veden v jazyce Python v notebookovém prostředí Jupyter.
Cieľová skupina
- Data scientisti, kteří se chtějí naučit ve Sparku analyzovat data a stavět ML prototypy, které budou škálovat s narůstajícím objemem analyzovaných dat
- Datoví inženýři, kteří se chtějí ve Sparku naučit psát efektivní transformace a ETL aplikace a chtějí rozumnět tomu, jak Spark funguje pod povrchem, aby toho mohli využít pro optimalizaci svých jobů a dosažení vysokého výkonu
Hodnotenie
Organizátor
Podobné kurzy
podľa názvu a lokality