Apache Spark
Apache Spark je open-source framework pro cluster computing. Nabízí developerům API zaměřená na datové struktury zvané Resilient Distributed Datasets (RDD), tedy read-only multiset datových položek distribuovaný v rámci clusteru počítačů, který je spravovaný jako fault-tolerant řešení.
Byl vyvinut jako odpověď na omezení výpočetního paradigmatu MapReduce clusteru: MapReduce programy čtou vstupní data z disku, mapují funkci přes celá data, redukují výsledky mapy a ukládají výsledky redukce na disk. Spark RDD pracují jako pracovní set pro distribuované programy, který nabízí (záměrně) omezenou formu distribuované sdílené paměti.
Dostupnost RDD usnadňuje implementace iterativních algoritmů, které pracují se svými datasety několikrát ve smyčce, a také interaktivní datovou analýzu, např. opakované dotazování na data ve stylu databáze. Latence takových aplikací (v porovnání s Apache Hadoop, populární implementací MapReduce) může být i řádově nižší. Mezi iterativní algoritmy patří algoritmy pro strojové učení, které byly prvotním impulsem pro vznik Apache Spark.
S Apache Spark máme dva roky zkušeností, zejména v činnostech jako
- Instalace, nastavení, konfigurace a produkční nasazení
- Implementace v aplikacích (Java, Scala a další)
- Použití Mllib (včetně Javy, R scriptů apod.)