Razlike med MapReduce in Apache Spark

Apache Hadoop je program z odprto kodo programske opreme, zasnovan za povečanje iz posameznih strežnikov na tisoče strojev in zagon aplikacij na grozdih strojne opreme. Okvir Apache Hadoop je razdeljen na dva sloja.

  • Hadoop porazdeljeni datotečni sistem (HDFS)
  • Obdelovalni sloj (MapReduce)

Shranjevalni sloj Hadoop, tj. HDFS je odgovoren za shranjevanje podatkov, medtem ko je MapReduce odgovoren za obdelavo podatkov v Hadoop Clusterju. MapReduce je ta programska paradigma, ki omogoča množično razširljivost na stotine ali tisoče strežnikov v grozdu Hadoop. MapReduce je tehnika obdelave in programski model za porazdeljeno računalništvo, ki temelji na programskem jeziku Java. MapReduce je močan okvir za obdelavo velikih, porazdeljenih nizov strukturiranih ali nestrukturiranih podatkov na grozdu Hadoop, shranjenega v distribucijskem datotečnem sistemu Hadoop (HDFS). Močne lastnosti MapReduce so njegova razširljivost.

  1. Apache Spark je sistem za računalništvo, ki je hiter in grozden, zasnovan za hitro računanje pri obsežni obdelavi podatkov. Apache Spark je sistem za distribucijo procesov, vendar ne vsebuje vgrajenega upravitelja virov grozdov in distribuiranega sistema za shranjevanje. Vključiti morate upravitelja grozdov in sistem za shranjevanje po vaši izbiri. Apache Spark je sestavljen iz jedra Spark in nabora knjižnic, podobnih tistim, ki so na voljo za Hadoop. Jedro je mehanizem porazdeljene izvedbe in nabor jezikov. Apache Spark podpira jezike, kot so Java, Scala, Python in R za razvoj distribuiranih aplikacij. Na vrhu jedre Spark so vgrajene dodatne knjižnice, ki omogočajo obremenitve, ki uporabljajo pretakanje, SQL, graf in strojno učenje. Apache Spark je motor za obdelavo podatkov za paketne in pretočne načine, ki vključuje poizvedbe SQL, obdelavo grafov in strojno učenje. Apache Spark lahko deluje samostojno in tudi na Hadoop YARN Cluster Manager in tako lahko prebere obstoječe podatke Hadoop.
  • Za Apache Spark lahko izberete Apache YARN ali Mesos za upravitelja grozdov.
  • Za upravitelja virov za Apache Spark lahko izberete Hadoop Distributed File System (HDFS), Google Cloud storage, Amazon S3, Microsoft Azure.

Primerjava med mestoma MapReduce in Apache Spark (Infographics)

Spodaj je zgornjih 20 primerjav med MapReduce in Apache Spark

Ključna razlika med MapReduce proti Apache Spark

  • MapReduce temelji izključno na disku, medtem ko Apache Spark uporablja pomnilnik in lahko uporablja disk za obdelavo.
  • MapReduce in Apache Spark imata podobno združljivost glede vrst podatkov in virov.
  • Glavna razlika med MapReduce in Spark je v tem, da MapReduce uporablja obstojno shranjevanje, Spark pa uporablja prožne distribuirane nabore podatkov.
  • Hadoop MapReduce je namenjen podatkom, ki ne ustrezajo pomnilniku, medtem ko ima Apache Spark boljše zmogljivosti za podatke, ki se prilegajo spominu, zlasti na namenskih grozdih.
  • Hadoop MapReduce je zaradi Hadoopa kot storitve lahko ekonomična možnost, Apache Spark pa je stroškovno učinkovitejši zaradi pomnilnika visoke razpoložljivosti
  • Apache Spark in Hadoop MapReduce sta odporen na odpoved, vendar je Hadoop MapReduce bolj odporen na odpoved kot Spark.
  • Hadoop MapReduce zahteva temeljna znanja java programiranja, medtem ko je programiranje v Apache Spark enostavnejše, saj ima interaktivni način.
  • Spark lahko izvaja naloge za paketno obdelavo med 10 do 100 krat hitreje kot MapReduce. Čeprav se obe orodji uporabljata za obdelavo velikih podatkov.

Kdaj uporabiti MapReduce:

  • Linearna obdelava velikega nabora podatkov
  • Vmesna rešitev ni potrebna

Kdaj uporabljati Apache Spark:

  • Hitra in interaktivna obdelava podatkov
  • Pridružitev naborom podatkov
  • Obdelava grafov
  • Iterativna delovna mesta
  • Obdelava v realnem času
  • Strojno učenje

Primerjalna tabela MapReduce vs Apache Spark

MapReduceApache iskrica
Obdelava podatkovSamo za paketno obdelavoPaketna obdelava in obdelava podatkov v realnem času
Hitrost obdelavePočasnejša kot pri Apache Spark, ker če je zamuda V / I na disku100x hitrejši pomnilnik in 10x hitrejši med tekom na disku
KategorijaMotor za obdelavo podatkovEngine Analytics Engine
StroškiManj dražji je primerjava Apache SparkBolj dražji zaradi velike količine RAM-a
PrilagodljivostObe sta v posameznem grozdu omejeni na 1000 vozliščObe sta v posameznem grozdu omejeni na 1000 vozlišč
Strojno učenjeMapReduce je bolj združljiv s programom Apache Mahout, hkrati pa se povezuje s strojnim učenjemApache Spark ima vgrajene API-je za strojno učenje
KompatibilnostVečinoma združljiv z vsemi viri podatkov in formati datotekApache Spark se lahko integrira z vsemi viri podatkov in formati datotek, ki jih podpira skupina Hadoop
VarnostOkvir MapReduce je v primerjavi z Apache Spark bolj varenVarnostna funkcija v Apache Spark se bolj razvija in dozoreva
PlanerOdvisno od zunanjega načrtovalcaApache Spark ima svoj planer
Toleranca napakZa napako uporablja toleriranjeApache Spark uporablja RDD in druge modele za shranjevanje podatkov za toleranco napak
Enostavnost uporabeMapReduce je nekoliko zapleten, če primerjamo Apache Spark zaradi JAVA API-jevApache Spark je zaradi bogatih API-jev enostavnejši za uporabo
Podvojena odpravaMapReduce ne podpira te funkcijeApache Spark obdela vsak zapis točno enkrat, torej odpravi podvajanje.
Jezikovna podporaPrimarni jezik je Java, vendar so podprti tudi jeziki, kot so C, C ++, Ruby, Python, Perl, GroovyApache Spark podpira Java, Scala, Python in R
ZamudaZelo visoka zakasnitevVeliko hitrejša primerjava MapReduce Framework
KompleksnostKode težko pišejo in odpravljajo napakeEnostavno za pisanje in odpravljanje napak
Skupnost ApacheOpen Source Framework za obdelavo podatkovOpen Source Framework za večjo hitrost obdelave podatkov
KodiranjeVeč vrstic kodeManjše vrstice kodeksa
Interaktivni načinNi interaktivnoInteraktivni
InfrastrukturaBlagovna opremaOd srednje do visoke ravni strojne opreme
SQLPodpira prek Hive Query LanguagePodpira prek Spark SQL

Zaključek - MapReduce proti Apache Spark

MapReduce in Apache Spark sta najpomembnejše orodje za obdelavo velikih podatkov. Glavna prednost MapReduce je, da je obdelava podatkov na lestvici enostavna za več računalniških vozlišč, medtem ko Apache Spark ponuja visokohitrostno računalništvo, okretnost in relativno enostavno uporabo, ki so popolna dopolnitev MapReduce. MapReduce in Apache Spark imata med seboj simbiotski odnos. Hadoop ponuja funkcije, ki jih Spark nima, na primer porazdeljeni datotečni sistem, Spark pa nudi obdelavo v pomnilniku v realnem času za tiste nabore podatkov, ki to zahtevajo. MapReduce je diskovno računanje, medtem ko Apache Spark temelji na RAM-u. MapReduce in Apache Spark skupaj je močno orodje za obdelavo velikih podatkov in naredi Hadoop grozd bolj trden.

Priporočeni članki

To je vodnik za MapReduce vs Apache Spark, njihov pomen, primerjava med seboj, ključne razlike, primerjalna tabela in sklep. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Azure Paas vs Iaas Koristne primerjave za učenje
  2. Najboljših 5 razlik med Hadoop proti MapReduce
  3. Morate vedeti o MapReduce vs Spark
  4. Apache Storm proti Apache Spark - Naučite se 15 uporabnih razlik
  5. Apache Hive vs Apache Spark SQL - 13 neverjetnih razlik
  6. Groovy Intervju Vprašanja: neverjetna vprašanja

Kategorija: