Spark: Evoluce nebo revoluce v analýze dat?

25. 10. 2015

Sdílet

 Autor: © Andrea Danti - Fotolia.com
Můžeme-li říci, že v roce 2014 vyvolal Apache Hadoop revoluci v segmentu big dat, může být rok 2015 dalším mezníkem, kdy Apache Spark díky své lepší schopnosti bohatší a rychlejší analýzy Hadoop nahradí.

Existuje velká oborová shoda, že je Spark vhodný směr, kam se dále v oblasti datových analýz vydat, uvádí Curt Monash, šéf výzkumné organizace Monash Research.

„V letošním roce uvidíme hodně případů použití, které možnosti Hadoopu přesahují,“ uvádí Ali Ghodsi, výkonný ředitel a spoluzakladatel firmy Databricks, kterou založilo několik tvůrců frameworku Spark. Tato společnost nabízí hostovanou službu Spark i technickou podporu pro distributory softwaru prodávající balíčky Spark.

Spark představuje stroj pro analýzu dat uložených v rámci clusteru počítačů. Stejně jako Hadoop lze i Spark použít ke zkoumání souborů dat, které jsou příliš velké, než aby se vešly do tradičního datového skladu nebo relační databáze.

A stejně jako Hadoop může i Spark pracovat s nestrukturovanými daty (například protokoly událostí), která nemají formát databázových tabulek. Spark nicméně ve svých schopnostech převyšuje Hadoop a dokáže snadno analyzovat datové proudy přicházející ze sítě.

Jako takový může sloužit jako rychlejší náhrada frameworku Hadoop MapReduce pro analýzu dat. V nedávném benchmarku  Daytona Gray Sort Challenge, který srovnává rychlost systémů pro analýzu dat, Spark snadno porazil Hadoop MapReduce a dokázal projít 100 terabajtů záznamů během 23 minut, zatímco Hadoop na stejný úkol potřeboval více než třikrát delší čas – cca 72 minut.

Z počátku nemusí zpracování v reálném čase vypadat jako něco mimořádného, ale tyto schopnosti se už použily ke vzniku zcela nové oblasti podnikání.

„Na základě Sparku jsme vytvořili celé naše duševní vlastnictví,“ vysvětluje Sharmila Shahani-Mulliganová, výkonná ředitelka a spoluzakladatelka firmy ClearStory Data. Ta mimo jiné nabízí službu business intelligence, která IT týmům umožňuje sestavit řadu vizualizací dat do prezentace, která se podobá prezentacím v PowerPointu.

Data přitom mohou pocházet z mnoha zdrojů a mohou se aktualizovat, jakmile dorazí nové údaje.

„Lidé chtějí rychlou reakci. Nechtějí na odpověď čekat hodiny nebo celý den,“ vysvětluje Ghodsi. Spark lze například použít při rozhodování digitálních inzerentů, jakou reklamu předložit uživatelům na základě jejich několika posledních kliknutí namísto toho, aby se použila data o kliknutí z doby před několika dny nebo týdny.

Rychlost Sparku při zpracování dat je důležitá, protože zatímco množství shromažďovaných dat rychle roste, zvyšování výpočetního výkonu se zpomaluje.

Spark také nabízí bohatší možnosti analýzy dat, uvádí Monash. Výchozí stroj Hadoopu pro analýzu dat, MapReduce, je především schopný řešit jeden typ problému zahrnující filtrování a třídění dat na různých serverech (mapovací část úlohy) a shrnutí výsledků (redukční aspekt).

Spark byl naproti tomu navržen tak, aby zvládal složitější dotazy zahrnující mimo jiné také metody strojového učení a prediktivního modelování.

„Tam, kde je Hadoop MapReduce velmi dobrý, je Spark potenciálně lepší,“ prohlašuje Monash.

Dalším raným osvojitelem řešení Spark je hudební streamovací služba Spotify, která používá tuto technologii k vytváření seznamů skladeb na základě uživatelova vkusu, jenž se odhaduje na principu sady algoritmů strojového učení.

Výhodám Sparku rozumějí i uživatelé Hadoopu. Společnost Cloudera, jež distribuuje Hadoop a ve svých řešeních dodává i Spark, má přibližně 60 podnikových zákazníků, kteří Spark v nějaké podobě už využívají, prohlašuje Monash. Ostatní distributoři Hadoopu, zejména Hortonworks a MapR, už Spark ve svých distribucích také nabízejí.

Projekt Spark byl spuštěn v roce 2008 na Kalifornské státní univerzitě v Berkeley v laboratoři AMPLab (AMP je zkratkou pro algoritmy, stroje a lidi). Nyní pod vedením nadace Apache Software Foundation tento projekt získává více příspěvků než jakýkoli jiný softwarový projekt Apache.

Hlavními přispěvateli jsou inženýři a vývojáři ze společností, jako jsou Intel, Yahoo, Groupon, Alibaba nebo Mint.

Spark je možné používat jak ve spojení s Hadoopem pro analýzu dat uložených v souborovém systému HDFS (Hadoop File System), tak ho lze provozovat i samostatně. Vývojáři vytvářejí aplikace mimo Spark pomocí programovacích jazyků Python, Java a Scala.

„Část přitažlivosti Sparku spočívá v tom, že má dobré rozhraní API (aplikační programové rozhraní), které ho jednoduše zpřístupňuje vývojářům a inženýrům,“ prohlašuje Reynold Xin, spoluzakladatel společnosti Databricks.

V letošním roce uvidíme mnohem více produktů a služeb založených na Sparku, předpovídá Ghodsi ze společnosti Databricks. Programátoři jsou už často dotazovaní na své zkušenosti s platformou Spark.

ICTS24

„Měli jsme několik kandidátů na pracovní pozice, kteří se podíleli na více zajímavých projektech Spark,“ dodává Ghodsi.