Разлика между MapReduce и Spark

Map Reduce е рамка с отворен код за записване на данни в HDFS и обработка на структурирани и неструктурирани данни, налични в HDFS. Намаляването на картата е ограничено до пакетна обработка, а при други Spark е в състояние да извършва всякакъв вид обработка. SPARK е независим процесор за обработка в реално време, който може да бъде инсталиран на всяка разпределена файлова система като Hadoop. SPARK осигурява производителност, която е 10 пъти по-бърза от намаляването на картата на диска и 100 пъти по-бърза от намаляването на картата в мрежа в паметта.

Нуждаете се от SPARK

  • Iterative Analytics: Намаляването на картата не е толкова ефективно, колкото SPARK за решаване на проблеми, които изискват итеративна анализа, тъй като трябва да отиде на диск за всяка итерация.
  • Интерактивна аналитика: Намаляването на картата често се използва за изпълнение на ad-hoc заявки, за които трябва да стигне до дискова памет, която отново не е толкова ефективна, колкото SPARK, тъй като последната се отнася в паметта, която е по-бърза.
  • Не е подходящ за OLTP: Тъй като работи върху пакетно ориентираната рамка, той не е подходящ за голям брой кратки транзакции.
  • Не е подходящ за графика: Библиотеката на Apache Graph обработва графиката, което добавя по-голяма сложност към намаляването на картата.
  • Не е подходящо за тривиални операции: За операции като филтър и присъединяване може да се наложи да пренапишем заданията, което става по-сложно поради модела ключ-стойност.

Сравнение между главата на MapReduce срещу Spark (Инфографика)

По-долу е топ 15 Разлика между MapReduce и Spark

Ключови разлики между MapReduce срещу Spark

По-долу са списъците с точки, опишете ключовите разлики между MapReduce и Spark:

  • Spark е подходящ за реално време, докато обработва с използване на памет, докато MapReduce е ограничен до пакетна обработка.
  • Spark има RDD (Resilient Distributed Dataset), който ни дава оператори на високо ниво, но в намалението на Map трябва да кодираме всяка операция, което я прави сравнително трудна.
  • Spark може да обработва графики и поддържа инструмента за машинно обучение.
  • По-долу е разликата между екосистемата MapReduce срещу Spark.

Пример, където MapReduce срещу Spark са подходящи, са както следва

Искри: Откриване на измами с кредитна карта

MapReduce: Създаване на редовни доклади, които изискват вземане на решения.

Таблица за сравнение на MapReduce срещу искри

Основа за сравнениеMapReduceискра
рамкаРамка с отворен код за записване на данни в HDFS и обработка на структурирани и неструктурирани данни, присъстващи в HDFS.Рамка с отворен код за по-бърза и обща обработка на данни
скоростMap-Reduce обработва данните (чете и записва) от диск, така че просочването е бавно в сравнение с Spark.

Spark е поне 10X по-бърз на диска и 100X по-бърз в паметта като този на Map Reduce.
затруднениеТрябва да кодираме / обработваме всеки процес.С наличието на RDD (Resilient Distributed Dataset) е лесно да се програмира.
Реално времеНе е подходящ за транзакция на OLTP само за пакетен режимТой може да се справи с обработката в реално време. Използване на SPARK Streaming.
латентностРамка за изчисляване на закъснения на високо нивоКомпютърна рамка за ниско ниво на латентност.
Толерантност на грешкиГлавните демони проверяват сърдечната дейност на демоните на робите и в случай, че демоните на робите не успеят, майсторите демони разсрочват всички чакащи и в ход операция към друг роб.RDD осигуряват толерантност на грешки към SPARK. Те се отнасят до набора от данни, налични във външно съхранение като (HDFS, HBase) и работят паралелно.
SchedulerВ Map Reduce използваме външен планировчик като Oozie.Тъй като SPARK работи с изчисления в паметта, той действа като собствен планировчик.
ценаНамалението на картата е сравнително по-евтино в сравнение със SPARK.Тъй като работи в паметта, така че изисква много RAM, което го прави сравнително по-скъпо.
Платформа, разработена наНамалението на карти е разработено с помощта на Java.SPARK е разработен с помощта на Scala.
Поддържан езикКарта Намаляване поддържа основно C, C ++, Ruby, Groovy, Perl, Python.Spark поддържа Scala, Java, Python, R, SQL.
Поддръжка на SQLMap Намаляване изпълнява заявки с помощта на Hive Query Language.Spark има свой език за заявки, известен като Spark SQL.
скалируемостВ Намаляване на карти можем да добавим до n брой възли. Най-големият клъстер Hadoop има 14000 възли.В Spark също можем да добавим n брой възли. Най-големият клъстер Spark има 8000 възли.
Машинно обучениеMap Reduce поддържа инструмент Apache Mahout за машинно обучение.Spark поддържа MLlib инструмент за машинно обучение.
кеширанеНамалението на картата не е в състояние да кешира данните в паметта, така че да не е толкова бързо в сравнение с Spark.Spark кешира данните в паметта за по-нататъшни итерации, така че е много бърз в сравнение с намаляването на картата.
СигурностMap Reduce поддържа повече проекти и функции за сигурност в сравнение с SparkЗащитата на искрите все още не е настъпила, тъй като тази на Map Reduce

Заключение - MapReduce срещу Spark

Съгласно горната Разлика между MapReduce и Spark, съвсем ясно е, че SPARK е много по-напреднал изчислителен двигател в сравнение с Map Reduce. Spark е съвместим с всеки тип файлов формат и също така доста по-бърз от Map Reduce. Искрата в допълнение има и графична обработка и възможности за машинно обучение.

От една страна, намалението на картата е ограничено до пакетна обработка, а от друга Spark е в състояние да извършва всякакъв вид обработка (пакетна, интерактивна, итеративна, поточна, графична). Поради голямата съвместимост Spark е фаворитът на Data Scientist и следователно неговото заместване на Map Намалява и расте бързо. Но все пак трябва да съхраняваме данните в HDFS и ние също понякога може да се нуждаем от HBase. Затова трябва да стартираме както Spark, така и Hadoop, за да постигнем най-доброто.

Препоръчани статии:

Това е ръководство за MapReduce срещу Spark, тяхното значение, сравнение между главата, ключови разлики, таблица на сравнението и заключение. Можете също да разгледате следните статии, за да научите повече -

  1. 7 важни неща за Apache Spark (Ръководство)
  2. Hadoop vs Apache Spark - интересни неща, които трябва да знаете
  3. Apache Hadoop срещу Apache Spark | Топ 10 сравнения, които трябва да знаете!
  4. Как работи MapReduce?
  5. Съединение на технологията и бизнес анализа

Категория: