Ugrás a tartalomhoz

MapReduce

A Wikipédiából, a szabad enciklopédiából
A lap korábbi változatát látod, amilyen Tudor987 (vitalap | szerkesztései) 2015. március 6., 18:39-kor történt szerkesztése után volt. Ez a változat jelentősen eltérhet az aktuális változattól.

A MapReduce egy programozási modell nagy adathalmazok feldolgozására párhuzamosan és egy szerverfürtön elosztottan.

A MapReduce tartalmaz egy map funkciót, amely szűrést és rendezést végez, valamint egy reduce funkciót, amely összegzi az eredményt. A MapReduce rendszer osztja el a feladatokat a szervereken párhuzamosan futtatva azokat, irányítva minden adatátvitelt, egyúttal hibatűrést is biztosít redundancián keresztül.

A modellt a funkcionális programozásból ismert map és reduce funkciók inspirálták, bár a használatuk nem egészen ugyanaz a MapReduce rendszerben, mint az eredeti formában.

Logikai felépítés

Olvasó

Az olvasó a bemeneti adatokat megfelelő méretű szeletekre vágja (tipikusan 16 és 128 MB között). Például szöveges állományokat olvashat egy ilyen olvasó komponens és minden sorát egy rekordként adja át.

Map

A map funkció kulcs-érték párokat fogad, amiből valamennyi (nulla vagy több) kimenő kulcs-érték párt készít. A bemenő és kimenő értékek típusa lehet különböző és gyakran valóban különböző.

Partícionáló

A partíció funkció minden map funkció kimenetet hozzárendeli egy reduce funkció futtatóhoz.

Összehasonlító

Minden reduce funkció kimenetét egy összehasonlító funkció segítségével rendezi a Mapreduce rendszer.

Reduce

A MapReduce rendszer a reduce funkciót minden kulcsra meghívja egyszer. A reduce funkció iterálhat a kulcshoz rendelt értékeken és generálhat nulla vagy valamennyi kimenetet.

Kimenet író

A kimenet író egy perzisztens adattárolóra írja a kimeneti adatokat, ez általában egy elosztott fájlrendszer.

Használat

A MapReduce algoritmust számos különböző területen használják, például elosztott minta-alapú keresés, elosztott rendezés, web log statisztika feldolgozás, gépi tanulás. A Google-nél a MapReduce algoritmust használták a világháló indexének felépítésére.

Példák

Implementációk

Lásd még

Jegyzetek