Mikä on MapReduce Hadoopissa?
MapReduce on ohjelmistokehys ja ohjelmointimalli, jota käytetään valtavien tietomäärien käsittelyyn. MapReduce- ohjelmatyö on kahdessa vaiheessa, nimittäin Map ja Reduce. Karttatehtävät käsittelevät tietojen jakamista ja kartoittamista.
Hadoop pystyy suorittamaan MapReduce-ohjelmia, jotka on kirjoitettu eri kielillä: Java, Ruby, Python ja C ++. Map Reduce -ohjelmat pilvipalveluissa ovat luonteeltaan rinnakkaisia, joten ne ovat erittäin hyödyllisiä laajamittaisen data-analyysin suorittamiseen klusterin useilla koneilla.
Kunkin vaiheen tulo on avainarvopareja . Lisäksi jokaisen ohjelmoijan on määritettävä kaksi toimintoa: karttatoiminto ja vähennysfunktio .
Tässä aloittelijan Hadoop MapReduce -oppaassa opit-
- Mikä on MapReduce Hadoopissa?
- MapReduce Architecture in Big Data selitetään yksityiskohtaisesti
- MapReduce Architecture selitetään yksityiskohtaisesti
- Kuinka MapReduce organisoi työn?
MapReduce Architecture in Big Data selitetään yksityiskohtaisesti
Koko prosessi käy läpi neljä toteutusvaihetta, nimittäin jakaminen, kartoitus, sekoittaminen ja pienentäminen.
Nyt tässä MapReduce-opetusohjelmassa ymmärretään MapReduce-esimerkillä -
Harkitse, että sinulla on seuraavat syöttötiedot MapReduce in Big data -ohjelmaan
Welcome to Hadoop ClassHadoop is goodHadoop is bad
MapReduce-tehtävän lopullinen tulos on
huono | 1 |
Luokka | 1 |
hyvä | 1 |
Hadoop | 3 |
On | 2 |
että | 1 |
Tervetuloa | 1 |
Tiedot käyvät läpi seuraavat MapReduce-vaiheet Big Data -palvelussa
Syöttöjakaumat:
Big Data -työn MapReduce-tulo jaetaan kiinteäkokoisiksi paloiksi, joita kutsutaan input splitiksi. Input split on palan tulo, jonka yksi kartta kuluttaa
Kartoitus
Tämä on ensimmäinen vaihe kartan pienennysohjelman toteutuksessa. Tässä vaiheessa kunkin jaon tiedot siirretään kartoitustoiminnolle lähtöarvojen tuottamiseksi. Esimerkissämme kartoitusvaiheen tehtävänä on laskea kunkin sanan esiintymien määrä syöttöjakoista (lisätietoja syöttöjakaumasta on annettu alla) ja valmistella luettelo muodossa
Sekoittaminen
Tämä vaihe kuluttaa kartoitusvaiheen lähdön. Sen tehtävänä on konsolidoida asiaankuuluvat tietueet kartoitusvaiheen tuotoksesta. Esimerkissämme samat sanat yhdistetään niiden taajuuden kanssa.
Pienentäminen
Tässä vaiheessa sekoitusvaiheen lähtöarvot kootaan. Tämä vaihe yhdistää sekoitusvaiheen arvot ja palauttaa yhden lähtöarvon. Lyhyesti sanottuna tässä vaiheessa esitetään yhteenveto koko aineistosta.
Esimerkissämme tämä vaihe yhdistää arvot sekoitusvaiheesta eli laskee kunkin sanan kokonaisesiintymät.
MapReduce Architecture selitetään yksityiskohtaisesti
- Kullekin osalle luodaan yksi karttatehtävä, joka suorittaa sitten karttatoiminnon jokaiselle jaetulle tietueelle.
- On aina hyödyllistä, että käytössä on useita jakoja, koska jaon käsittelyyn kuluva aika on pieni verrattuna koko panoksen käsittelyyn kuluvaan aikaan. Kun halkeamat ovat pienempiä, käsittely on parempi ladata tasapainoisesti, koska käsittelemme halkeamia rinnakkain.
- Ei myöskään ole toivottavaa, että halkeamat ovat liian pieniä. Kun osiot ovat liian pieniä, jakojen hallinnan ja karttatehtävien luomisen ylikuormitus alkaa hallita työn suorittamisen kokonaisaikaa.
- Useimmissa töissä on parempi tehdä jakokoko, joka on yhtä suuri kuin HDFS-lohkon koko (joka on oletusarvoisesti 64 Mt).
- Karttatehtävien suorittaminen johtaa tulostuksen kirjoittamiseen vastaavan solmun paikalliselle levylle eikä HDFS: lle.
- Syynä paikallisen levyn valitsemiseen HDFS: n sijaan on välttää replikaatio, joka tapahtuu HDFS-myymälän toiminnan yhteydessä.
- Karttatulos on välituotanto, joka käsitellään pienennetyillä tehtävillä lopullisen tuotoksen tuottamiseksi.
- Kun työ on valmis, kartan tulos voidaan heittää pois. Joten sen tallentaminen HDFS: ään replikoinnilla tulee ylenmääräiseksi.
- Jos solmu epäonnistuu, Hadoop suorittaa karttatehtävän uudelleen toisessa solmussa ja luo karttatuloksen uudelleen, ennen kuin vähennystehtävä kuluttaa kartan ulostulon.
- Pienennä tehtävä ei toimi tietopaikan käsitteellä. Jokaisen karttatehtävän tulos syötetään vähennettyyn tehtävään. Karttatulos siirretään koneeseen, jossa pienennystoiminto on käynnissä.
- Tällä koneella lähtö yhdistetään ja siirretään sitten käyttäjän määrittelemään vähennystoimintoon.
- Toisin kuin karttatulos, vähennetty tuotos tallennetaan HDFS: ään (ensimmäinen kopio tallennetaan paikalliseen solmuun ja muut kopiot tallennetaan off-rack-solmuihin). Joten, kirjoittamalla vähennysteho
Kuinka MapReduce organisoi työn?
Tässä MapReduce-opetusohjelmassa opitaan, miten MapReduce toimii
Hadoop jakaa työn tehtäviin. Tehtäviä on kahdenlaisia:
- Kartta tehtävät (Splits & Mapping)
- Vähennä tehtäviä (satunnaistoisto, pienennys )
kuten yllä mainittu.
Koko toteutusprosessia (molemmat Map- ja Reduce-tehtävien suorittamista) ohjaavat kahden tyyppiset entiteetit, joita kutsutaan a
- Jobtracker : Toimii päällikkönä (vastuussa lähetetyn työn täydellisestä suorittamisesta)
- Useita tehtävänseurajia : Toimii orjina, kukin heistä suorittaa työn
Jokaisessa järjestelmässä suoritettavaksi lähetetyssä työssä on yksi Jobenin hakija, joka asuu Namenode-palvelussa, ja useita tehtävänseuraajia, jotka asuvat Datanode-palvelussa .

- Työ on jaettu useisiin tehtäviin, jotka sitten suoritetaan klusterin useille datasolmuille.
- Työnhakijan vastuulla on koordinoida toimintaa aikatauluttamalla tehtäviä suoritettavaksi eri datasolmuille.
- Yksittäisen tehtävän suorittamisesta on sitten huolehdittava tehtäväseurannalla, joka sijaitsee jokaisessa tietosolmussa, joka suorittaa osan työstä.
- Tehtävänvalvojan vastuulla on lähettää edistymisraportti työnseurantaan.
- Lisäksi tehtäväseuranta lähettää säännöllisesti 'syke' -signaalin Jobtrackerille ilmoittaakseen hänelle järjestelmän nykyisestä tilasta.
- Näin työn seuranta seuraa kunkin työn yleistä edistymistä. Tehtävän epäonnistumisen sattuessa työn seuranta voi ajoittaa sen toiseen tehtävän seurantaan.