Pet stvari koje trebate znati o Hadoop-u protiv Apache Sparka

Slušajte bilo kakav razgovor o velikim podacima i vjerojatno ćete čuti spominjanje Hadoopa ili Apache Sparka. Evo kratkog pregleda što rade i kako ih uspoređuju.

1: Rade različite stvari. Oboje su Hadoop i Apache Spark okviri za velike podatke, ali zapravo ne služe u iste svrhe. Hadoop je u osnovi distribuirana podatkovna infrastruktura: distribuira masovne zbirke podataka na više čvorova unutar klastera robnih poslužitelja, što znači da ne morate kupovati i održavati skupi prilagođeni hardver. Također indeksira i prati te podatke, omogućujući obradu velikih podataka i analitiku daleko učinkovitije nego što je to bilo moguće ranije. Spark je, s druge strane, alat za obradu podataka koji djeluje na tim distribuiranim zbirkama podataka; ne radi raspodijeljenu pohranu.

2: Jedno možete koristiti bez drugog. Hadoop uključuje ne samo komponentu za pohranu, poznatu kao Hadoop Distributed File System, već i komponentu za obradu nazvanu MapReduce, tako da vam nije potrebna Spark da biste obavili obradu. Suprotno tome, Spark možete koristiti i bez Hadoopa. Spark, međutim, ne dolazi sa svojim vlastitim sustavom za upravljanje datotekama, pa ga treba integrirati s jednim - ako ne HDFS-om, onda drugom podatkovnom platformom koja se temelji na oblaku. Spark je, pak, dizajniran za Hadoop, pa se mnogi slažu da im je bolje zajedno.

3: Spark je brži.Spark je općenito puno brži od MapReducea zbog načina na koji obrađuje podatke. Dok MapReduce djeluje u koracima, Spark u jednom mahu djeluje na čitav niz podataka. "Tok rada MapReduce izgleda ovako: čita podatke iz klastera, izvodi operaciju, zapisuje rezultate u klaster, čita ažurirane podatke iz klastera, izvodi sljedeću operaciju, zapisuje sljedeće rezultate u klaster, itd.", Objasnio je Kirk Borne, glavni znanstvenik za podatke iz tvrtke Booz Allen Hamilton. S druge strane, Spark dovršava sve operacije analitike podataka u memoriji i gotovo u stvarnom vremenu: "Čitajte podatke iz klastera, izvodite sve potrebne analitičke operacije, zapisujte rezultate u klaster, gotovo", rekao je Borne. Spark može biti čak 10 puta brži od MapReducea za serijsku obradu i do 100 puta brži za analitiku u memoriji, rekao je.

4: Možda vam neće trebati Sparkova brzina. Stil obrade MapReducea može biti sasvim u redu ako su vaše radnje s podacima i zahtjevi za izvješćivanjem uglavnom statični i možete pričekati skupni način obrade. Ali ako trebate raditi analitiku na streaming podacima, poput senzora na tvorničkom podu, ili ako imate aplikacije koje zahtijevaju više operacija, vjerojatno želite ići s Sparkom. Na primjer, većina algoritama strojnog učenja zahtijeva više operacija. Uobičajene aplikacije za Spark uključuju marketinške kampanje u stvarnom vremenu, mrežne preporuke za proizvode, analitiku kibernetičke sigurnosti i nadzor dnevnika strojeva.

5: Oporavak nakon neuspjeha: drugačije, ali još uvijek dobro. Hadoop je prirodno otporan na sistemske greške ili kvarove, jer se podaci zapisuju na disk nakon svake operacije, ali Spark ima sličnu ugrađenu elastičnost zahvaljujući činjenici da su njegovi podatkovni objekti pohranjeni u nešto što se naziva elastični distribuirani skupovi podataka raspoređeni po klasteru podataka. "Ti se podatkovni objekti mogu pohraniti u memoriju ili na diskove, a RDD pruža potpuni oporavak od kvarova ili kvarova", istaknuo je Borne.