Erinevused MapReduce'i ja Apache Sparki vahel
Apache Hadoop on avatud lähtekoodiga tarkvararaamistik, mille eesmärk on laiendada üksikutest serveritest tuhandete masinate hulka ja käivitada rakendusi kaubavara riistvara klastrites. Apache Hadoopi raamistik jaguneb kaheks kihiks.
- Hadoopi hajutatud failisüsteem (HDFS)
- Kihi töötlemine (MapReduce)
Andmete salvestamise eest vastutab Hadoopi salvestuskiht, st HDFS, samal ajal kui MapReduce vastutab andmete töötlemise eest Hadoopi klastris. MapReduce on see programmeerimisparadigma, mis võimaldab Hadoopi klastris sadade või tuhandete serverite massilist skaleeritavust. MapReduce on Java programmeerimiskeelel põhineva hajutatud arvuti töötlemise tehnika ja programmimudel. MapReduce on võimas raamistik Hadoopi hajutatud failisüsteemis (HDFS) talletatud Hadoopi klastris olevate Hadoopi klastri suurte jaotatud struktureeritud või struktureerimata andmete töötlemiseks. MapReduce'i võimsad omadused on selle mastaapsus.
- Apache Spark on välkkiire ja klastrite arvutustehnoloogia raamistik, mis on loodud kiireks arvutamiseks suuremahulisel andmetöötlusel. Apache Spark on hajutatud töötlemismootor, kuid sisseehitatud klastri ressursihalduri ja hajutatud salvestussüsteemiga see kaasas pole. Peate ühendama valitud klastrihalduri ja salvestussüsteemi. Apache Spark koosneb Sparki tuumast ja raamatukogude komplektist, mis on sarnased Hadoopi jaoks saadaolevatega. Tuum on hajutatud täitmismootor ja keelte komplekt. Apache Spark toetab hajutatud rakenduste arendamiseks selliseid keeli nagu Java, Scala, Python ja R. Sparki südamiku peale on ehitatud täiendavad raamatukogud, et võimaldada voogesitust, SQL-i, graafikut ja masinõpet kasutavaid töökoormusi. Apache Spark on andmetöötlusmootor pakk- ja voorežiimide jaoks, mis hõlmavad SQL päringuid, graafikutöötlust ja masinõpet. Apache Spark töötab iseseisvalt ja ka Hadoop YARN Cluster Manager'is ning seega saab ta lugeda olemasolevaid Hadoopi andmeid.
- Apache Sparki jaoks saate klastrihalduriks valida Apache YARN või Mesos.
- Apache Sparksi ressursside halduriks saate valida Hadoopi hajutatud failisüsteemi (HDFS), Google'i pilvesalvestuse, Amazon S3, Microsoft Azure.
MapReduce'i ja Apache Sparki (infograafika) võrdlus ühest otsast teise
Allpool on esitatud MapReduce'i ja Apache Sparki 20 parima võrdlus
Põhiline erinevus MapReduce'i ja Apache Sparki vahel
- MapReduce on rangelt kettapõhine, samas kui Apache Spark kasutab mälu ja saab töötlemiseks ketast kasutada.
- MapReduce ja Apache Spark on andmetüüpide ja andmeallikate osas sarnased ühilduvusega.
- Esmane erinevus MapReduce'i ja Sparki vahel on see, et MapReduce kasutab püsivat salvestusruumi ja Spark kasutab elastseid hajutatud andmebaase.
- Hadoop MapReduce on mõeldud andmete jaoks, mis ei mahu mällu, samas kui Apache Sparkil on parem jõudlus mälus olevate andmete jaoks, eriti pühendatud klastrites.
- Hadoopi MapReduce võib olla Hadoopi kui teenuse tõttu ökonoomne valik ja Apache Spark on kõrge saadavuse mälu tõttu kulutõhusam
- Apache Spark ja Hadoop MapReduce on mõlemad tõrketaluvused, kuid Hadoop MapReduce on rikkekindlamad kui Spark.
- Hadoop MapReduce nõuab Java-põhilisi programmeerimisoskusi, samas kui Apache Sparki programmeerimine on lihtsam, kuna sellel on interaktiivne režiim.
- Spark on võimeline täitma pakettöötlustöid vahemikus 10–100 korda kiiremini kui MapReduce, ehkki mõlemat tööriista kasutatakse suurandmete töötlemiseks.
Millal MapReduce'i kasutada?
- Suure andmestiku lineaarne töötlemine
- Vahelahendust pole vaja
Millal Apache Sparki kasutada?
- Kiire ja interaktiivne andmetöötlus
- Andmekogudega liitumine
- Graafikute töötlemine
- Iteratiivsed töökohad
- Töötlemine reaalajas
- Masinõpe
MapReduce vs Apache Spark võrdlustabel
MapReduce | Apache säde | |
Andmetöötlus | Ainult partii töötlemiseks | Nii pakkide töötlemine kui ka reaalajas andmete töötlemine |
Töötlemiskiirus | Aeglasem kui Apache Spark, sest kui I / O-ketta latentsus | 100x kiirem mälus ja 10x kiirem kettal töötamise ajal |
Kategooria | Andmetöötlusmootor | Andmeanalüüsi mootor |
Kulud | Apache Sparki võrdlus vähem kulukam | Suurema RAM-i tõttu kulukam |
Skaleeritavus | Mõlemad on skaleeritavad kuni 1000 sõlmeni ühes klastris | Mõlemad on skaleeritavad kuni 1000 sõlmeni ühes klastris |
Masinõpe | MapReduce on masinõppega integreerimisel paremini ühilduv Apache Mahoutiga | Apache Spark on integreerinud API-d masinõppesse |
Ühilduvus | Ühildub kõigi andmeallikate ja failivormingutega | Apache Spark saab integreerida kõigi andmeallikate ja failivormingutega, mida Hadoopi klaster toetab |
Turvalisus | MapReduce'i raamistik on Apache Sparkiga võrreldes turvalisem | Apache Sparki turvafunktsioon areneb edasi ja muutub küpsemaks |
Planeerija | Sõltub välisest planeerijast | Apache Sparkil on oma planeerija |
Veataluvus | Kasutab rikketolerantsi replikatsiooni | Apache Spark kasutab rikketolerantsi jaoks RDD-d ja muid andmesalvestusmudeleid |
Kasutuslihtsus | MapReduce on JAVA API-de tõttu Apache Sparkiga võrreldes pisut keeruline | Apache Sparki on rikaste API-de tõttu lihtsam kasutada |
Duplikaatne elimineerimine | MapReduce ei toeta seda funktsiooni | Apache Spark töötleb kõiki kirjeid täpselt ühe korra, välistades sellega dubleerimise. |
Keeletugi | Põhikeel on Java, kuid toetatud on ka sellised keeled nagu C, C ++, Ruby, Python, Perl, Groovy | Apache Spark toetab Java, Scala, Python ja R |
Latentne aeg | Väga kõrge latentsusaeg | MapReduce Framework'i võrdlus on palju kiirem |
Keerukus | Raske koodide kirjutamine ja silumine | Lihtne kirjutada ja siluda |
Apache'i kogukond | Andmete töötlemiseks avatud lähtekoodiga raamistik | Avatud lähtekoodiga raamistik andmete kiiremaks töötlemiseks |
Kodeerimine | Veel koodiridu | Koodi väiksemad read |
Interaktiivne režiim | Pole interaktiivne | Interaktiivne |
Infrastruktuur | Kauba riistvara | Keskmine kuni kõrgetasemeline riistvara |
SQL | Toetab tarude päringu keele kaudu | Toetab Spark SQL kaudu |
Järeldus - MapReduce vs Apache Spark
MapReduce ja Apache Spark on mõlemad olulisemad suurandmete töötlemise tööriistad. MapReduce'i suurimaks eeliseks on see, et andmetöötlust on lihtne skaleerida mitme arvutisõlme kaudu, samas kui Apache Spark pakub kiiret andmetöötlust, paindlikkus ja suhteline kasutusmugavus on MapReduce'i täiuslik täiendus. MapReduce ja Apache Spark on üksteisega sümbiootilised suhted. Hadoop pakub funktsioone, mida Sparkil pole, näiteks hajutatud failisüsteem ja Spark pakub reaalajas mälupilvet töötlemiseks nende andmete jaoks, mis seda vajavad. MapReduce on kettal põhinev arvuti, Apache Spark aga RAM-põhine arvuti. MapReduce ja Apache Spark koos on võimas tööriist suurandmete töötlemiseks ja muudavad Hadoopi klastri töökindlamaks.
Soovitatavad artiklid
See on olnud juhend MapReduce vs Apache Spark, nende tähendus, võrdlus pea vahel, peamised erinevused, võrdlustabel ja järeldus. Lisateabe saamiseks võite vaadata ka järgmisi artikleid -
- Azure Paas vs Iaas Kasulikud võrdlused õppimiseks
- 5 parimat erinevust Hadoopi ja MapReduce'i vahel
- Peate teadma MapReduce vs Spark kohta
- Apache Storm vs Apache Spark - õppida 15 kasulikku erinevust
- Apache taru vs Apache Spark SQL - 13 hämmastavat erinevust
- Groovy intervjuu küsimused: hämmastavad küsimused