Obsah

Apache Spark: Zpracování v paměti

Apache Spark je open-source engine pro paralelní zpracování dat v reálném čase i v dávkách. Jeho hlavní devizou je schopnost udržovat data v operační paměti (In-memory computing), což dramaticky zrychluje opakované dotazy a algoritmy strojového učení.

1. Architektura Apache Spark

Spark využívá architekturu typu Master-Worker. Centrálním mozkem je Driver, který rozděluje úlohy mezi jednotlivé Executory běžící na pracovních uzlech (Worker Nodes).

2. Klíčové koncepty a datové struktury

Spark se v průběhu let vyvíjel od nízkoúrovňových struktur k vysoce optimalizovaným rozhraním:

3. Ekosystém Sparku (Knihovny)

Spark je „švýcarský nůž“ pro data, protože v jednom balíku kombinuje různé typy analýz:

Komponenta Účel
Spark SQL Práce se strukturovanými daty pomocí standardního SQL dotazování.
Spark Streaming Zpracování dat v reálném čase (např. z Kafky).
MLlib Škálovatelná knihovna pro algoritmy strojového učení.
GraphX Analýza grafů a sociálních vazeb (např. hledání komunit).

4. Proč zvolit Spark místo Hadoopu?

Vlastnost Hadoop MapReduce Apache Spark
Rychlost Pomalejší (častý zápis na disk) Až 100x rychlejší (In-memory)
Náročnost Nižší nároky na RAM Vysoké nároky na operační paměť
Flexibilita Pouze dávkové zpracování Dávky, streaming i interaktivní dotazy
Programování Komplexní Java kód Snadné API v Pythonu, Scale, Javě nebo R

5. Použití v praxi


Související články:

Tagy: it big-data spark analytics data-science in-memory parallel-computing