Hadoop vs. Spark

16. 7. 2017

Sdílet

 Autor: © Hunter2 - Fotolia.com
Jaké jsou možnosti dvou klíčových řešení pro big data – Hadoop a Spark? Jaké jsou mezi nimi rozdíly a jaké jsou jejich hlavní výhody a nevýhody. Přinášíme jejich srovnání včetně příkladů jejich nasazení.

V první řadě je důležité si uvědomit, že Hadoop a Spark představují velmi odlišné technologie s různými případy použití. Apache Software Foundation, odkud obě technologie vzešly, je dokonce řadí do různých kategorií: Hadoop je databáze a Spark je nástroj pro big data.

Podle definice, kterou používá Apache, je Hadoop distribuovaná výpočetní platforma: „Framework umožňující distribuované zpracování velkých objemů dat pomocí počítačových clusterů a jednoduchých programovacích modelů. Jeho design umožňuje škálování od jednotlivých serverů až po tisíce strojů, kde má každý z nich svou místní vlastní výpočetní a úložnou kapacitu. Vysoká dostupnost je namísto hardwaru zajišťována knihovnou, která je navržena tak, aby detekovala a řešila selhání na aplikační vrstvě.“

Ve velké většině případů, když někdo mluví o technologii Hadoop, myslí tím HDFS (Hadoop Distributed File System), což je „distribuovaný souborový systém, který poskytuje vysokorychlostní přístup k datům aplikací“.

Potom ale ještě existuje Hadoop YARN, což je nástroj pro plánování a správu clusterových zdrojů, a dále Hadoop MapReduce pro paralelní zpracování velkých datových souborů.

Spark je podle Apache „rychlý obecný stroj pro zpracování dat ve velkém měřítku. Nabízí rozhraní API na vysoké úrovni pro jazyky Java, Scala a Python, stejně jako bohatou sadu knihoven včetně strojového učení, analýzy grafů a zpracování toků dat.“

 

Jak je spojit?

Obě technologie jsou ve své podstatě frameworky pro big data. V podstatě lze říci, že pokud jste firmou s rychle rostoucím rezervoárem dat, je Hadoop open source softwarem, který vám umožní tato data ukládat spolehlivým a bezpečným způsobem.

Spark je naopak nástrojem pro pochopení těchto údajů. Pokud bychom Hadoop přirovnali k Bibli přeložené do češtiny, potom Spark je český slovník obsahující slova a fráze.

Spark můžete použít pro své projekty big dat uložené v HDFS či jiném souborovém systému, jako například v databázích NoSQL s implementovanými konektory Sparku – jako MongoDB, Couchbase nebo Teradat.

 „Pokud jde o Hadoop, není zde osamocená technologie, je to obrovská rodina technologií a úplným základem je síť distribuovaných souborů, kterou každý miluje,“ říká Will Gardella, ředitel produktového managementu ve společnosti Couchbase.

HDFS podle něj dobře řeší neatraktivní a složité problémy a umožňuje ukládat tolik dat, kolik jen potřebujete, a přitom se nemusíte starat o jejich neporušenost. Lidé na to prý spoléhají.

Volba skutečně záleží na tom, co chcete se svými daty dělat, a na schopnostech vašeho personálu. Jakmile jsou vaše data v systému Hadoop, existuje mnoho způsobů, jak z nich vytěžit požadované hodnoty. Můžete použít například standardní způsob analýzy pomocí připojení nástroje k datovému jezeru pro vyčištění dat, dotazy a vizualizace.

Velcí hráči na trhu analýz a business intelligence, jako je například Splunk, nabízejí produkty přímo integrované do systému Hadoop, a firmy zabývající se vizualizací, jako je třeba Tableau, vám pomohou tato data prezentovat publiku, jež se přímo na data nezaměřuje.

Spark je na druhou stranu užitečný, pokud chcete dát svým lidem přístup k datům v reálném čase, aby oni sami nebo algoritmus mohli na základě nich rozhodovat.

Pokud jsou vaše data prostě jen velkým množstvím strukturovaných dat, jako je například databáze zdravotních záznamů, potom streamovací funkce Sparku nejsou nezbytně nutné.

 

Klady a zápory

Spolehlivost: Jedním z hlavních přínosů technologie Hadoop je, že podstata distribuovanosti snižuje náchylnost k poruchám, což umožňuje nepřetržitou dostupnost základních dat. To je důvod, proč si ho mnoho webových firem vybírá jako databázi – protože internet nikdy nespí.

Náklady: Hadoop a Spark jsou projekty z Apache Software Foundation, takže jsou zdarma a open source. Výdaje vznikají v důsledku požadovaného způsobu implementace, celkových nákladů na vlastnictví, času a zdrojů souvisejících s implementací vzhledem k požadovaným schopnostem a hardwaru. To má také podíl na vysoké škálovatelnosti, jak roste vaše datové jezero.

Licenční model tradičních poskytovatelů databází, jako jsou Oracle a SAP, již dlouho mnoho šéfů IT trápí, takže model SaaS (software jako služba), poskytovaný většinou specialistů na Hadoop a Spark, dává větší flexibilitu, zatímco vy zjišťujete, zda je tato technologie pro vás opravdu užitečná.

Rychlost: Apache Foundation uvádí, že Spark údajně pracuje až 100x rychleji než Hadoop MapReduce.  Důvodem je, že Spark pracuje stylem in-memory namísto klasického čtení a zapisování na disk. MapReduce načte data z clusteru, vykoná operaci a zapíše výsledky zpět do clusteru, což samozřejmě určitou chvíli trvá, zatímco Spark tento proces vykonává na jednom místě.

Obecnost: „Spark může načíst data odkudkoli:Couchbase, MySQL, Amazon S3 a HDFS.Zvládá také všechny formáty, které lze čekat od HBase.Spark je díky tomu velmi univerzální,“ říká Gardella z Couchbase.

Schopnosti: Ať už vám dodavatelé řeknou cokoli, Spark se nepoužívá snadno. Je určen pro datové analytiky či experty a obecně se používá pro velmi složité a neustále se měnící streamované soubory dat.

Případy použití

Díky své schopnosti ukládat více a více dat zahrnují některé klasické případy použití platformy Hadoop tzv. 360stupňový pohled na zákazníky, stroje s doporučeními pro maloobchod, řízení rizik či zabezpečení.

Maloobchodní firmy a společnosti zaměřené na internet věcí mají naopak zájem o Spark také kvůli jeho schopnosti poskytovat interaktivní analýzy v reálném čase pro vytvoření větší personalizace.

Podle Kelly Stirmana, viceprezidenta pro strategii MongoDB, roste popularita Sparku pro jeho kompatibilitu s jedním důležitým případem použití: strojovým učením. „Deset let Hadoopu a charakteristické znaky jsou stále slibné, ale většina lidí zjistila, že použití je obtížné a není vhodné pro umělou inteligenci a strojové učení,“ tvrdí Stirman.

Gardella z Couchbase souhlasí: „Myslím si, že způsob, jak lze Spark využít ve strojovém učení, je mnohem lepší. Je jasné, že případy použití strojového učení byly silnější na straně Sparku než na straně Hadoopu.“

 

Typičtí zákazníci

Širší perspektivu lze získat z prohlášení společnosti Hortonworks, která se na Hadoop specializuje. Podle ní pracuje s 55 ze 100 nejlepších firem zaměřených na finanční služby a se 75 ze 100 největších prodejců. Případy použití je těžší najít možná proto, že technologie není tak vyzrálá, jak by si dodavatelé přáli, a také možná proto, že zákazníci stále považují tuto technologii za tajný recept.

British Gas Connected Homes, zákazník firmy DataStax, používá Spark a Apache Cassandru k poskytování statistik využití plynu v reálném čase svým klientům, a to přes zařízení pro chytrou domácnost.

 „Vždycky jsme si uvědomovali, že používáme internet věcí, a víme, že počet připojených zařízení jen poroste. Tyto snímače neustále sbírají data. Například naše čidlo teploty poskytuje údaje každých pár minut. Škálování tohoto procesu pomocí tradiční relační databáze prostě nebylo realistické,“ tvrdí Jim Anning, ředitel pro data a analýzy ve společnosti British Gas.

Inovativní automobilka Tesla používá Hadoop pro data svých připojených automobilů, Expedia zaměřená na cestovní rezervace zase přesunula svoje data do prostředí Hadoop v rámci svého růstu a společnost British Airways může být velkým příkladem, jak využívat Hadoop pro účely ukládání dat a jejich analýz.

„Společnosti, které potřebují garanci správnosti svého účetnictví, jinak jim hrozí trestněprávní postih, stále raději používají tradiční datové sklady. Banky a prodejci ale přecházejí na Hadoop, protože je to mnohem levnější i flexibilnější a navíc mají personál s potřebnými schopnostmi datových analýz,“ dodáváGardella z Couchbase.

 

Co dodavatelé?

Implementace Hadoopu je možná buď vlastními silami (Apache poskytuje veškerou potřebnou dokumentaci), nebo si můžete vybrat dodavatele, který vám zajistí podnikové nasazení včetně podpory. U technologie Spark je to podobné: můžete to zkusit sami, nebo s pomocí nějakého dodavatele, jako jsou například Hortonworks (Spark at Scale), Cloudera nebo MapR.

Koncem roku 2015 registroval Gartner sedm dodavatelů nabízejících komerční verze platformy Hadoop: Amazon, IBM, Pivotal, Transwarp, Hortonworks, Cloudera a MapR. Dodavatelé jako Couchbase, MongoDB, DataStax, Basho a MemSQL nabízejí Spark postavený na konkurenčních platformách pro správu dat.

Dodavatelé databází NoSQL začali vydávat konektory pro Spark přibližně před rokem. MongoDB patří mezi nejnovější. Viceprezident strategie, Kelly Stirman, tvrdí, že se MongoDB liší, protože „lidé vnímají konektor jako marketingovou taktiku přivádějící zákazníky do jejich vlivu, takže můžete narazit na neúplné nebo funkcemi nedostatečně vybavené konektory, které plní jen funkci lákadla, což nemůže mít dobrý konec.“

Ve svém přehledu trhu s distribucemi Hadoop uvádějí Nick Heudecker, Merv Adrian a Ankush Jain, analytici Gartneru, že změny v ekosystému Hadoop přicházejí v době, kdy megadodavatelé správy informací, jako IBM (nabízejí vlastní distribuci), Microsoft, Oracle, SAP a Teradata, z velké části dokončili svou integraci s nejvýznamnějšími prvky platformy Hadoop.

Podle Gartneru ji začleňují do svého širšího portfolia schopností, jako jsou například zpracování toků událostí, analytika, systémy správy databází (DBMS), federace a integrace dat, správa metadat, zabezpečení a řízení. Distributoři Hadoopu také přidávají tyto funkce, a to buď prostřednictvím různých partnerství, nebo řízeného vývoje.

 

Hadoop, nebo Spark?

I přes svou relativní zralost ve srovnání s technologií Spark nedokáže Hadoop stále poskytnout takový druh transformačních výsledků, jak mnoho dodavatelů prohlašuje. Podle Gartneru lze do roku 2018 očekávat, že 70 procent z nasazení platformy Hadoop nepřinese předpokládané úspory nákladů a vytvoření nového obratu v důsledku nedostatku dovedností a problémů s integrací.

Přizpůsobte projekty specifickým požadavkům nasazení a ověřte si existenci a připravenost pro ně vhodných podporovaných technologických komponent,“ doporučuje zpráva Gartneru.

Spark má na druhou stranu potenciál být...

 

ICTS24

Tento příspěvek vyšel v Computerworldu 10/2016. Oproti této variantě je obsáhlejší a obsahuje řadu dalších rad, které můžete využít u sebe ve firmě.

Časopis (starší čísla i předplatné těch nadcházejících) si můžete objednat na adrese našeho vydavatelství.