Какво е алгоритъм MapReduce?
Алгоритмът MapReduce е вдъхновен главно от модела на функционалното програмиране. Използва се за обработка и генериране на големи данни. Тези набори от данни могат да се стартират едновременно и да се разпространяват в клъстер. Програма MapReduce се състои главно от процедура на карта и метод на намаляване за извършване на обобщената операция като броене или даване на някои резултати. Системата MapReduce работи на разпределени сървъри, които работят паралелно и управляват всички комуникации между различни системи. Моделът е специална стратегия на стратегия за разделно прилагане и комбиниране, която помага в анализа на данните. Картографирането се извършва от класа Mapper и намалява задачата се извършва от клас Reducer.
Разбиране на алгоритма на MapReduce
Алгоритъмът MapReduce работи основно в три стъпки:
- Функция на картата
- Функция разбъркване
- Намаляване на функцията
Нека обсъдим всяка функция и нейните отговорности.
1. Функция на картата
Това е първата стъпка от алгоритма MapReduce. Той взема наборите от данни и ги разпределя в по-малки подзадачи. По-нататък това се прави на два етапа, разделяне и картографиране. Разделянето взема входния набор от данни и разделя набора от данни, докато картографирането взема тези подмножества от данни и извършва необходимите действия. Резултатът от тази функция е двойка ключ-стойност.
2. Функция разбъркване
Това е известно също като функция за комбиниране и включва обединяване и сортиране. Сливането комбинира всички двойки ключ-стойност. Всички те ще имат едни и същи клавиши. Сортирането отвежда входните данни от стъпката на сливане и сортира всички двойки ключ-стойност чрез използване на клавишите. Тази стъпка ще се върне и към двойки ключ-стойност. Изходът ще бъде сортиран.
3. Намаляване на функцията
Това е последната стъпка на този алгоритъм. Отнема двойките ключ-стойност от разбъркването и намалява операцията.
Как алгоритмите MapReduce правят работата лесна?
Системите за релационни бази данни имат централизиран сървър, който помага при съхраняване и обработка на данните. Това обикновено бяха централизирани системи. Когато няколко файла влязат в картината, обработката е досадна и създава затруднение при обработката на множество файлове. MapReduce картографира набора от данни и преобразува набора от данни, където всички данни са разделени на кортежи и задачата за намаляване ще вземе изхода от тази стъпка и ще комбинира тези пакети данни в по-малките набори. Той работи в различни фази и създава двойки ключ-стойност, които могат да бъдат разпределени в различни системи.
Какво можете да направите с алгоритмите MapReduce?
MapReduce може да се използва с различни приложения. Може да се използва за разгледано базирано на образец търсене, разпределено сортиране, обръщане на графиката на уеб линкове, статистика на уеб достъпа. Той може също да помогне в създаването и работата на множество клъстери, настолни решетки, доброволчески изчислителни среди. Човек може също така да създава динамични облачни среди, мобилни среди, както и високоефективни компютърни среди. Google използва MapReduce, който възстановява индекса на Google от световната мрежа. С него се актуализират старите ad hoc програми и те извършват различни видове анализ. Той също така интегрира резултатите от търсенето на живо, без да възстановява пълния индекс. Всички входове и изходи се съхраняват в разпределената файлова система. Преходните данни се съхраняват на локален диск.
Работа с алгоритъм MapReduce
За да работите с алгоритма на MapReduce, трябва да знаете пълния процес как работи. Постъпилите данни преминават през следните стъпки:
1. Разделяне на входа: Всички входни данни, които постъпват в заданието MapReduce, са разделени на равни части, известни като входни раздели. Това е част от входа, който може да бъде консумиран от всеки от картографите.
2. Картографиране: След като данните се разделят на парчета, той преминава през фазата на картографиране в програмата за намаляване на карти. Тези разделени данни се предават на функция за картографиране, която произвежда различни изходни стойности.
3. Разбъркване: След като картографирането е направено, данните се изпращат до тази фаза. Нейната задача е да обединява необходимите записи от предишната фаза.
4. Намаляване: В тази фаза изходът от фазата на разбъркване се агрегира. В тази фаза всички стойности се разместват и обединяват чрез агрегиране, така че тя връща единична изходна стойност. Той създава обобщение на целия набор от данни.
Предимства на алгоритма MapReduce
Приложенията, които използват MapReduce, имат следните предимства:
- Те са им осигурени сближаване и добри обобщаващи резултати.
- Данните могат да бъдат обработвани чрез използване на интензивни приложения.
- Осигурява висока мащабируемост.
- Преброяването на всякакви събития на всяка дума е лесно и има масивна колекция от документи.
- Генеричен инструмент може да се използва за търсене на инструмент в много анализи на данни.
- Той предлага време за балансиране на натоварването в големи клъстери.
- Той също така помага в процеса на извличане на контексти на местоположението на потребителите, ситуации и т.н.
- Той има достъп до големи извадки от респондентите бързо.
Защо трябва да използваме алгоритма MapReduce?
MapReduce е приложение, което се използва за обработка на огромни набори от данни. Тези набори от данни могат да се обработват паралелно. MapReduce потенциално може да създаде големи набори от данни и голям брой възли. Тези големи масиви от данни се съхраняват на HDFS, което прави анализа на данните по-лесен. Той може да обработва всякакъв вид данни като структурирани, неструктурирани или полуструктурирани.
Защо се нуждаем от алгоритма MapReduce?
MapReduce бързо се разраства и помага при паралелни изчисления. Той помага за определяне на цената на продуктите и помага за получаване на най-високи печалби. Той също така помага при прогнозиране и препоръчване на анализ. Тя позволява на програмистите да изпълняват модели над различни набори от данни и използва съвременни статистически техники и техники за машинно обучение, които помагат при прогнозиране на данните. Той филтрира и изпраща данните до различни възли в клъстера и функционира според функцията за картографиране и редуктор.
Как тази технология ще ви помогне в кариерния растеж?
Hadoop е сред най-търсените работни места в наши дни. Ускорява скоростта и възможността, която се разраства много бързо в тази област. В тази област ще има бум още повече. ИТ специалистите, които работят в Java, имат плюс, тъй като са най-търсените хора. Също така, разработчиците, архитектите на данни, складовите данни и специалистите по BI могат да отнемат огромни суми заплата, като научат тази технология.
заключение
MapReduce е основата на рамката на Hadoop. Научавайки това, вие със сигурност ще влезете на пазара за анализ на данни. Можете да го научите задълбочено и да се запознаете с това как се обработват големи набори от данни и как тази технология внася промяна с обработката и съхранението на данни.
Препоръчителни статии
Това е ръководство за алгоритмите MapReduce. Тук обсъждаме концепцията, разбирането, работата, нуждата, предимствата и кариерния растеж. Можете да разгледате и другите ни предложени статии, за да научите повече -
- Въпроси за интервю с MapReduce
- Какво представлява MapReduce в Hadoop?
- Как работи MapReduce?
- Какво е MapReduce?
- Разлики между Hadoop срещу MapReduce
- Различни операции, свързани с Tuples