Съдържание:
Определение - Какво означава MapReduce?
MapReduce е програмен модел, въведен от Google за обработка и генериране на големи масиви от данни в клъстери от компютри.
Google първо формулира рамката с цел обслужване на индексирането на уеб страници на Google и новата рамка замени по-ранните алгоритми за индексиране. Начинаещите разработчици намират рамката MapReduce за полезна, тъй като библиотечните съчетания могат да се използват за създаване на паралелни програми, без да се притеснявате за комуникация в инфра-клъстери, наблюдение на задачи или обработка на грешки.
MapReduce работи на голям куп стокови машини и е силно мащабируем. Той има няколко форми на изпълнение, предоставяни от множество езици за програмиране, като Java, C # и C ++.
Техопедия обяснява MapReduce
Рамката MapReduce има две части:
- Функция, наречена "Карта", която позволява на различни точки от разпределения клъстер да разпределят работата си
- Функция, наречена "Намаляване", която е предназначена да намали крайната форма на резултатите от клъстерите в един изход
Основното предимство на рамката MapReduce е нейната толерантност, при която се очакват периодични отчети от всеки възел в клъстера, когато работата приключи.
Задача се прехвърля от един възел в друг. Ако главният възел забележи, че даден възел е безшумен за по-дълъг интервал от очакваното, основният възел изпълнява процеса на преназначаване на замразена / забавена задача.
Рамката MapReduce е вдъхновена от функциите "Map" и "Reduce", използвани във функционалното програмиране. Изчислението се извършва на данни, съхранявани във файлова система или в база данни, която приема набор от входни ключови стойности и произвежда набор от изходни ключови стойности.
Всеки ден многобройни програми MapReduce и задания MapReduce се изпълняват в клъстерите на Google. Програмите се паралелизират автоматично и се изпълняват на голям клъстер от стокови машини. Системата по време на работа се занимава с разделяне на входните данни, планиране на изпълнението на програмата на набор от машини, обработка на грешки в машината и управление на необходимата междусъобщителна комуникация. Програмистите без опит с паралелни и разпределени системи могат лесно да използват ресурсите на голяма разпределена система.
MapReduce се използва при разпределен греп, разпределен сортиране, обръщане на графика на уеб линкове, статистика на журнала за достъп до уеб, групиране на документи, машинно обучение и статистически машинен превод.