Programovanie

Päť vecí, ktoré potrebujete vedieť o Hadoop v. Apache Spark

Vypočujte si každú konverzáciu o veľkých dátach a pravdepodobne budete pravdepodobne počuť zmienky o Hadoop alebo Apache Spark. Tu je krátky pohľad na to, čo robia a ako porovnávajú.

1: Robia rôzne veci. Hadoop a Apache Spark sú rámce pre veľké dáta, ale v skutočnosti neslúžia rovnakým účelom. Hadoop je v podstate distribuovaná dátová infraštruktúra: Distribuuje masívne zbierky dát medzi viac uzlov v klastri komoditných serverov, čo znamená, že nemusíte kupovať a udržiavať drahý vlastný hardvér. Tiež indexuje a sleduje tieto údaje, čo umožňuje spracovanie a analýzu veľkých údajov oveľa efektívnejšie, ako to bolo možné predtým. Spark je na druhej strane nástroj na spracovanie údajov, ktorý pracuje s týmito distribuovanými zbierkami údajov; nerobí distribuované úložisko.

2: Môžete použiť jedno bez druhého. Hadoop obsahuje nielen úložný komponent, známy ako Hadoop Distributed File System, ale aj procesorový komponent s názvom MapReduce, takže na dokončenie spracovania nepotrebujete program Spark. Naopak, Spark môžete použiť aj bez Hadoopu. Spark neprichádza s vlastným systémom na správu súborov, takže je potrebné ho integrovať do jedného - ak nie HDFS, do inej cloudovej dátovej platformy. Spark bol navrhnutý pre Hadoop, takže toľko ľudí súhlasí, že je im spolu lepšie.

3: Spark je rýchlejší. Spark je zvyčajne oveľa rýchlejší ako MapReduce kvôli spôsobu, akým spracováva údaje. Zatiaľ čo MapReduce pracuje v krokoch, Spark pracuje na celej množine údajov jedným ťahom. „Pracovný tok MapReduce vyzerá takto: čítať údaje z klastra, vykonať operáciu, zapisovať výsledky do klastra, čítať aktualizované údaje z klastra, vykonávať ďalšiu operáciu, zapisovať ďalšie výsledky do klastra atď.,“ Vysvetlil Kirk Borne, hlavný vedec v odbore Booz Allen Hamilton. Spark na druhej strane dokončuje všetky operácie analýzy údajov v pamäti a takmer v reálnom čase: „Čítajte údaje z klastra, vykonávajte všetky potrebné analytické operácie, zapisujte výsledky do klastra, hotovo,“ uviedol Borne. Spark môže byť až 10-krát rýchlejší ako MapReduce pre dávkové spracovanie a až 100-krát rýchlejší pre analýzu v pamäti, uviedol.

4: Možno nebudete potrebovať rýchlosť Spark. Štýl spracovania MapReduce môže byť v pohode, ak sú vaše operácie s údajmi a požiadavky na vykazovanie väčšinou statické a môžete počkať na dávkové spracovanie. Ak však potrebujete robiť analytiku streamovaných údajov, napríklad zo senzorov v továrni, alebo máte aplikácie, ktoré vyžadujú viac operácií, pravdepodobne budete chcieť ísť so Sparkom. Napríklad väčšina algoritmov strojového učenia vyžaduje viac operácií. Medzi bežné aplikácie pre Spark patria marketingové kampane v reálnom čase, online odporúčania produktov, analýza kybernetickej bezpečnosti a monitorovanie protokolov strojov.

5: Obnova zlyhania: iná, ale stále dobrá. Hadoop je prirodzene odolný voči chybám alebo zlyhaniam systému, pretože údaje sa po každej operácii zapisujú na disk, ale Spark má podobnú zabudovanú odolnosť vďaka skutočnosti, že jeho dátové objekty sú uložené v niečom, čo sa nazýva odolné distribuované súbory údajov distribuované v klastri údajov. „Tieto dátové objekty môžu byť uložené v pamäti alebo na diskoch a RDD poskytuje úplné zotavenie po poruchách alebo poruchách,“ upozornil Borne.

$config[zx-auto] not found$config[zx-overlay] not found