Razlike između MapReduce i Apache Spark
Apache Hadoop je softver otvorenog koda koji je dizajniran tako da se poveća s jednog poslužitelja na hiljade strojeva i pokrene aplikacije na klasterima robnog hardvera. Okvir Apache Hadoop podijeljen je u dva sloja.
- Hadoop distribuirani datotečni sustav (HDFS)
- Sloj za obradu (MapReduce)
Skladišni sloj Hadoopa, tj. HDFS je odgovoran za pohranu podataka, dok je MapReduce odgovoran za obradu podataka u Hadoop Cluster-u. MapReduce je ova programska paradigma koja omogućava ogromnu skalabilnost na stotine ili tisuće poslužitelja u Hadoop grupi. MapReduce je tehnika obrade i programski model za raspodijeljeno računanje na temelju Java programskog jezika. MapReduce je moćan okvir za obradu velikih, raspodijeljenih skupova strukturiranih ili nestrukturiranih podataka na Hadoop grupi koja se pohranjuje u Hadoop Distribuirani datotečni sustav (HDFS). Snažne značajke MapReduce-a su njegova skalabilnost.
- Apache Spark je brzi i klasterski računalni tehnološki okvir, dizajniran za brzo računanje na velikoj obradi podataka. Apache Spark je raspodijeljeni procesor, ali ne dolazi s ugrađenim upraviteljem resursa klastera i distribuiranim sustavom za pohranu. Morate priključiti upravitelj klastera i sustav za pohranu po vašem izboru. Apache Spark sastoji se od Spark jezgre i skupa biblioteka sličnih onima dostupnim za Hadoop. Jezgra je motor distribuiranog izvođenja i skup jezika. Apache Spark podržava jezike poput Java, Scala, Python i R za razvoj distribuiranih aplikacija. Dodatne biblioteke izgrađene su na vrhu jezgre Spark kako bi se omogućilo radno opterećenje koje koristi streaming, SQL, graf i strojno učenje. Apache Spark je motor za obradu podataka za batch i streaming moduse koji sadrži SQL upite, obradu grafikona i strojno učenje. Apache Spark može se pokrenuti samostalno, a također i preko Hadoop YARN Cluster Manager-a te tako može čitati postojeće Hadoop podatke.
- Možete odabrati Apache YARN ili Mesos za upravitelja klastera za Apache Spark.
- Za Apache Spark možete odabrati Hadoop Distributed File System (HDFS), Google pohranu u oblaku, Amazon S3, Microsoft Azure.
Usporedba između MapReduce i Apache Spark (Infographics)
Ispod je 20 najboljih usporedbi između MapReduce i Apache Spark
Ključna razlika između MapReduce i Apache Spark
- MapReduce se temelji isključivo na disku dok Apache Spark koristi memoriju i može koristiti disk za obradu.
- MapReduce i Apache Spark imaju sličnu kompatibilnost u pogledu vrsta podataka i izvora podataka.
- Primarna razlika između MapReduce i Sparka je u tome što MapReduce koristi trajnu pohranu, a Spark koristi otporne distribuirane skupove podataka.
- Hadoop MapReduce namijenjen je podacima koji se ne uklapaju u memoriju dok Apache Spark ima bolju izvedbu za podatke koji se uklapaju u memoriju, posebno na namjenskim klasterima.
- Hadoop MapReduce može biti ekonomična opcija zbog Hadoopa kao usluge, a Apache Spark je isplativiji zbog memorije velike raspoloživosti
- Apache Spark i Hadoop MapReduce oboje su tolerantni na neuspjeh, ali u usporedbi s Hadoop MapReduce tolerantni su od neuspjeha.
- Hadoop MapReduce zahtijeva temeljne java vještine programiranja, dok je programiranje u Apache Sparku lakše jer ima interaktivni način rada.
- Spark može izvoditi serijske poslove obrade između 10 i 100 puta brže od MapReduce Iako se oba alata koriste za obradu velikih podataka.
Kada koristiti MapReduce:
- Linearna obrada velikog skupa podataka
- Ne traži se intermedijarno rješenje
Kada koristiti Apache Spark:
- Brza i interaktivna obrada podataka
- Pridruživanje skupovima podataka
- Obrada grafikona
- Iterativni poslovi
- Obrada u stvarnom vremenu
- Strojno učenje
Tablica usporedbe MapReduce vs Apache Spark
MapReduce | Apache Spark | |
Obrada podataka | Samo za serijsku obradu | Paketna obrada, kao i obrada podataka u stvarnom vremenu |
Brzina obrade | Sporije je od Apache Iskre jer ako je vrijeme kašnjenja I / O diska | 100 puta brže u memoriji i 10 puta brže dok trčite na disku |
Kategorija | Motor za obradu podataka | Engine Analytics podataka |
Troškovi | Manje jeftinije uspoređujući Apache Spark | Više skupo zbog velike količine RAM-a |
skalabilnost | Oba su skalabilna ograničena na 1000 čvorova u jednom klasteru | Oba su skalabilna ograničena na 1000 čvorova u jednom klasteru |
Strojno učenje | MapReduce je kompatibilniji s Apache Mahoutom dok se integrira sa Strojnim učenjem | Apache Spark ima ugrađene API-je za strojno učenje |
Kompatibilnost | Uglavnom kompatibilan sa svim izvorima podataka i formatima datoteka | Apache Spark može se integrirati sa svim izvorima podataka i formatima datoteke koje podržava Hadoop klaster |
sigurnosti | Okvir MapReduce sigurniji je u usporedbi s Apache Sparkom | Sigurnosna značajka u Apache Sparku sve se više razvija i sazrijeva |
raspored | Zavisi od vanjskog Planera | Apache Spark ima vlastiti planer |
Tolerancija kvarova | Koristi replikaciju za grešku Tolerancija | Apache Spark koristi RDD i ostale modele za pohranu podataka za toleranciju grešaka |
Jednostavnost korištenja | MapReduce je složeno uspoređujući Apache Spark zbog JAVA API-ja | Apache Spark je lakši za upotrebu zbog bogatih API-ja |
Duplikatno uklanjanje | MapReduce ne podržavaju ove značajke | Apache Spark postupak svaki zapis točno jednom otklanja uklanjanje duplikata. |
Jezična podrška | Primarni jezik je Java, ali podržani su i jezici poput C, C ++, Ruby, Python, Perl, Groovy | Apache Spark podržava Java, Scala, Python i R |
Latentnost | Vrlo visoka kašnjenja | Mnogo brže uspoređujemo MapReduce Framework |
Složenost | Teško za pisanje i uklanjanje pogrešaka kodova | Jednostavno za pisanje i uklanjanje pogrešaka |
Zajednica Apache | Okvir otvorenog koda za obradu podataka | Okvir otvorenog koda za obradu podataka velikom brzinom |
šifriranje | Više linija koda | Manje retke Kodeksa |
Interaktivni način | Nije interaktivan | interaktivni |
Infrastruktura | Robna oprema | Hardverska oprema srednje i visoke razine |
SQL | Podržava putem jezika upita košnice | Podržava putem Spark SQL-a |
Zaključak - MapReduce vs Apache Spark
MapReduce i Apache Spark oba su najvažniji alat za obradu velikih podataka. Glavna prednost MapReduce-a je to što je obrada podataka laka za razmjenu na više računalnih čvorova dok Apache Spark nudi brzo računanje, okretnost i relativno jednostavnu upotrebu savršene su dopune MapReduceu. MapReduce i Apache Spark imaju međusobni međusobni odnos. Hadoop nudi značajke koje Spark ne posjeduje, poput distribuiranog datotečnog sustava, a Spark pruža obradu u memoriji u stvarnom vremenu za one skupove podataka koji to zahtijevaju. MapReduce je diskovno računanje, dok je Apache Spark računanje temeljeno na RAM-u. MapReduce i Apache Spark zajedno su moćan alat za obradu velikih podataka i čini Hadoop Cluster robusnijim.
Preporučeni članci
Ovo je vodič za MapReduce vs Apache Spark, njihovo značenje, uporedbu između glave, ključne razlike, tablicu usporedbe i zaključak. Možete pogledati i sljedeće članke da biste saznali više -
- Azure Paas vs Iaas Korisne usporedbe za učenje
- Najboljih 5 razlike između Hadoop i MapReduce
- Trebate znati o MapReduceu vs Spark
- Apache Storm vs Apache Spark - Naučite 15 korisnih razlika
- Apache Hive vs Apache Spark SQL - 13 nevjerojatnih razlika
- Groovy pitanja za intervju: zadivljujuća pitanja