Programiranje

Pet stvari, ki jih morate vedeti o Hadoop proti Apache Spark

Prisluhnite vsakemu pogovoru o velikih podatkih in verjetno boste slišali omeniti Hadoop ali Apache Spark. Tu je kratek pogled na to, kaj počnejo in kako se primerjajo.

1: Delajo različne stvari. Hadoop in Apache Spark sta okvira za velike podatke, vendar v resnici ne služita istim namenom. Hadoop je v bistvu porazdeljena podatkovna infrastruktura: distribuira množične zbirke podatkov po več vozliščih znotraj grozda blagovnih strežnikov, kar pomeni, da vam ni treba kupovati in vzdrževati drage strojne opreme po meri. Te podatke tudi indeksira in spremlja, kar omogoča obdelavo in analizo velikih podatkov veliko bolj učinkovito, kot je bilo mogoče prej. Spark pa je orodje za obdelavo podatkov, ki deluje na teh porazdeljenih zbirkah podatkov; ne dela razdeljenega pomnilnika.

2: Enega lahko uporabljate brez drugega. Hadoop vključuje ne samo komponento za shranjevanje, imenovano Hadoop Distributed File System, ampak tudi komponento za obdelavo, imenovano MapReduce, zato za obdelavo ne potrebujete Sparka. Nasprotno pa lahko Spark uporabljate tudi brez Hadoopa. Spark sicer nima lastnega sistema za upravljanje datotek, zato ga je treba integrirati z enim - če ne HDFS, pa drugo podatkovno platformo v oblaku. Spark je bil zasnovan za Hadoop, vendar se mnogi strinjajo, da sta skupaj boljša.

3: Spark je hitrejši. Spark je na splošno veliko hitrejši od MapReducea zaradi načina obdelave podatkov. Medtem ko MapReduce deluje v korakih, Spark v enem zamahu deluje na celotnem naboru podatkov. "Potek dela MapReduce izgleda takole: branje podatkov iz gruče, izvedba operacije, zapisovanje rezultatov v gručo, branje posodobljenih podatkov iz gruče, izvedba naslednje operacije, pisanje naslednjih rezultatov v gručo itd.," Je pojasnil Kirk Borne, glavni podatkovni znanstvenik pri Boozu Allen Hamilton. Po drugi strani Spark dokonča celotne operacije analitike podatkov v pomnilniku in skoraj v realnem času: "Preberite podatke iz gruče, izvedite vse potrebne analitične operacije, v gručo zapišite rezultate, končano," je dejal Borne. Spark je lahko do 10-krat hitrejši od MapReduce za serijsko obdelavo in do 100-krat hitrejši za analitiko v pomnilniku, je dejal.

4: Morda ne boste potrebovali Sparkove hitrosti. Slog obdelave MapReduce je lahko v redu, če so vaše podatkovne operacije in zahteve za poročanje večinoma statične in lahko počakate na paketno obdelavo. Če pa želite analizirati pretakanje podatkov, na primer s senzorjev v tovarniškem nadstropju, ali če imate aplikacije, ki zahtevajo več operacij, verjetno želite uporabiti Spark. Večina algoritmov strojnega učenja na primer zahteva več operacij. Pogoste aplikacije za Spark vključujejo tržne kampanje v realnem času, spletna priporočila za izdelke, analitiko kibernetske varnosti in spremljanje dnevnika strojev.

5: Popravljanje napak: drugačno, a vseeno dobro. Hadoop je naravno odporen na sistemske napake ali okvare, saj se podatki zapisujejo na disk po vsaki operaciji, vendar ima Spark podobno vgrajeno odpornost zaradi dejstva, da so njegovi podatkovni objekti shranjeni v nečem, kar imenujemo prožni porazdeljeni nabori podatkov, razporejeni po podatkovni gruči. "Te podatkovne objekte je mogoče shraniti v pomnilnik ali na diske, RDD pa zagotavlja popolno okrevanje po napakah ali okvarah," je poudaril Borne.

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