Domov Cloud-Computing Čo je to mapreduce? - definícia z technológie

Čo je to mapreduce? - definícia z technológie

Obsah:

Anonim

Definícia - Čo znamená MapReduce?

MapReduce je programovací model, ktorý zaviedla spoločnosť Google na spracovanie a generovanie veľkých súborov údajov v klastroch počítačov.

Spoločnosť Google najprv vytvorila rámec na účely indexovania webových stránok spoločnosti Google a nový rámec nahradil skoršie algoritmy indexovania. Pre začínajúcich vývojárov je rámec MapReduce výhodný, pretože knižničné rutiny môžu byť použité na vytvorenie paralelných programov bez obáv týkajúcich sa komunikácie medzi klastrami, monitorovania úloh alebo procesov riešenia porúch.

MapReduce beží na veľkom zoskupení komoditných strojov a je vysoko škálovateľný. Má niekoľko foriem implementácie poskytovaných viacerými programovacími jazykmi, ako napríklad Java, C # a C ++.

Techopedia vysvetľuje MapReduce

Rámec MapReduce má dve časti:

  1. Funkcia s názvom „Mapa“, ktorá umožňuje distribuovať prácu rôznym bodom distribuovaného klastra
  2. Funkcia s názvom „Znížiť“, ktorá je navrhnutá tak, aby redukovala výslednú formu výsledkov zoskupení na jeden výstup

Hlavnou výhodou rámca MapReduce je jeho odolnosť voči chybám, kde sa po dokončení práce očakávajú pravidelné správy z každého uzla v klastri.

Úloha sa prenáša z jedného uzla do druhého. Ak hlavný uzol zaznamená, že uzol mlčal dlhší interval, ako sa očakávalo, hlavný uzol vykoná proces priradenia k zmrazenej / oneskorenej úlohe.

Rámec MapReduce je inšpirovaný funkciami „Map“ a „Reduce“, ktoré sa používajú vo funkčnom programovaní. Výpočtové spracovanie prebieha na údajoch uložených v súborovom systéme alebo v databáze, ktorá berie množinu hodnôt vstupných kľúčov a vytvára množinu výstupných kľúčov.

V klastroch spoločnosti Google sa každý deň vykonáva množstvo programov MapReduce a úloh MapReduce. Programy sa automaticky paralelizujú a vykonávajú na veľkom zoskupení komoditných strojov. Runtime systém sa zaoberá rozdelením vstupných údajov, plánovaním vykonávania programu na skupinu strojov, spracovaním porúch strojov a riadením požadovanej intermachinovej komunikácie. Programátori, ktorí nemajú skúsenosti s paralelnými a distribuovanými systémami, môžu ľahko využiť zdroje veľkého distribuovaného systému.

MapReduce sa používa v distribuovaných grepoch, distribuovaných druhoch, obrátení grafov webového prepojenia, štatistikách prístupových protokolov k webu, zoskupovaní dokumentov, strojovom učení a štatistickom strojovom preklade.

Čo je to mapreduce? - definícia z technológie