Sisällysluettelo:
Määritelmä - mitä MapReduce tarkoittaa?
MapReduce on Googlen käyttöön ottama ohjelmointimalli suurten tietojoukkojen käsittelemiseksi ja luomiseksi tietokoneiden klustereissa.
Google muotoili ensin puitteet Googlen verkkosivujen indeksoinnin palvelemiseksi, ja uusi kehys korvasi aikaisemmat indeksointialgoritmit. Aloittelijoiden kehittäjät pitävät MapReduce-kehystä hyödyllisenä, koska kirjastorutiineja voidaan käyttää rinnakkaisohjelmien luomiseen ilman hätää klusterien sisäisestä viestinnästä, tehtävien seurannasta tai viankäsittelyprosesseista.
MapReduce toimii suurella ryhmällä hyödykekoneita ja on erittäin skaalautuva. Sillä on useita toteutusmuotoja, joita tarjoavat useat ohjelmointikielet, kuten Java, C # ja C ++.
Techopedia selittää MapReducen
MapReduce-kehyksessä on kaksi osaa:
- Toiminto nimeltä "Kartta", jonka avulla hajautetun klusterin eri kohdat voivat jakaa työnsä
- Toiminto nimeltä "Pienennä", joka on suunniteltu vähentämään klusterien lopullisen muodon yhdeksi tulosteena
MapReduce-kehyksen tärkein etu on sen vikasietoisuus, jossa kausittaisia raportteja klusterin kustakin solmusta odotetaan työn päättyessä.
Tehtävä siirretään solmusta toiseen. Jos isäntäsolmu huomaa, että solmu on ollut hiljainen odotettua pidemmän ajanjakson ajan, pääsolmu suorittaa uudelleenosoitusprosessin jäädytettyyn / viivästettyyn tehtävään.
MapReduce-kehys on inspiroinut toiminnallisessa ohjelmoinnissa käytetyistä "Kartta" ja "Pienennä" -toiminnoista. Laskennallinen käsittely tapahtuu tiedostojärjestelmään tai tietokantaan tallennettuihin tietoihin, jotka ottavat joukon syöttöavainarvot ja tuottavat sarjan lähtöavaimien arvoja.
Joka päivä Google-klustereissa suoritetaan useita MapReduce-ohjelmia ja MapReduce-töitä. Ohjelmat yhdenmukaistetaan ja toteutetaan automaattisesti suurella ryhmällä hyödykekoneita. Suoritusaikajärjestelmä käsittelee syöttötietojen osittaista jakamista, ohjelman suorituksen ajoittamista konejoukolle, konevikojen käsittelyä ja tarvittavan koneiden välisen viestinnän hallintaa. Ohjelmoijat, joilla ei ole kokemusta rinnakkaisista ja hajautetuista järjestelmistä, voivat helposti käyttää suuren hajautetun järjestelmän resursseja.
MapReducea käytetään hajautetussa grep-sovelluksessa, hajautetussa lajittelussa, Web-linkkien ja graafien kääntämisessä, Web-yhteyslokin tilastoissa, asiakirjaryhmittelyssä, koneoppimisessa ja tilastollisessa konekääntämisessä.