MapReduce patroiak - sarrera laburra

featured_img

MapReduce patroiak

Orokorra: Diseinu eredua da, gaur egun ia software garapenaren arlo guztietan erabiltzen epe komun bat. Ereduak ez dira ezer, baina enpresa-arazoak konpontzeko erabili zenbait frogatua eta probatu diseinu teknikak. MapReduce teknologia domeinu berri bat da, eta, gainera, bere diseinu ereduak datu konputazio arazoak konpondu behar ditu.

In this article, egingo MapReduce esparru erabilitako diseinu patroiak desberdinei buruz hitz egingo dut.

Sarrera: Mapa murrizten duten ordenagailuak kopuru batean bizi datuak prozesatzeko erabili da. zer egin ahal dugu eta zer ez dugu arteko mugak argi eta bereizgarria ematen du. Hau aukera kopurua kontuan hartu behar dugu egiten, txikiagoan. At the same time, irudikatu dezakegu nola mugak arazo bat konpontzeko. Diseinu patroiak dute arazo asko probatu noizean eta abstrakzio maila egokia erakutsi dute.

MapReduce patroiak okupatzen arazoak eta irtenbideak espazio txikiagoa paper bera. Marko orokor bat ematen dute, gure datu konputazio lotutako gaiak konpontzeko, Arazoa domeinuaren baitute gabe. MapReduce diseinu-patroiak hizkuntza komun bat eskaintzen elkarrekin lan MapReduce aplikazio on-taldeak.

MapReduce Design Eredua: Orain utzi diseinu desberdinak eztabaidatzeko gurekin hurbiltzen banan-banan hurrengo atalean.

kalkulatzea:

Arazoa adierazpena - Let non dokumentu bakoitzeko termino multzo bat dauka dokumentu pila bat dugula pensatzen. Orain, baldintza bat epe bakoitzaren gertaera kopurua kalkulatzeko dokumentuan dugu.

Irtenbidea - honako kode In Mapper bat besterik erregistroak '1' epe bakoitzeko topatzen dugun. gutxitzeko hemen, hala nola direnak zerrendan zehar zeharkatzen, laburtzen horiek sortu eta emaitza sortzen.

Listing 1: Kode Informatika - 1

[Code]

klase Mapper

metodo mapa(docid id, d doc)

epe doc t guztia d egin

igortzen(epe t, count 1)

klase gutxitzeko

metodo murriztea(epe t, zenbatzen [c1, c2,…])

CNT = 0

Aldaketa c guztientzat [c1, c2,…] egin

CNT = CNT + c

igortzen(epe t, zenbatu CNT)

[/Code]

Simple arren, baina, batez kodea bistako desabantaila gezurrezko counters kopuru altua duten Mapper igorritako ditu. Orain hori murriztu ahal izango dugu counters summing dokumentu bakoitzaren arabera.

Listing 2: Kode Informatika - 2

[Code]

klase Mapper

metodo mapa(docid id, d doc)

Harray = AssociativeArray berria

epe doc t guztia d egin

Harray{t} = Harray{t} + 1

Epe Harray in t guztietarako egin

igortzen(epe t, zenbatu Harray{t})

[/Code]

Now, Dokumentu guztiak Lets combiners izan da kontatzailea pilatu in -

Listing 3: Kode Informatika - 3

[Code]

klase Mapper

metodo mapa(docid id, d doc)

epe doc ter guztiak d egin

igortzen(epe ter, count 1)

klase Combiner

metodo Konbinatu(epe ter, [c1, c2,…])

batura = 0

Aldaketa CNT guztientzat [c1, c2,…] egin

batura = batura + CNT

igortzen(epe t, zenbatu batura)

klase gutxitzeko

metodo murriztea(epe t, zenbatzen [c1, c2,…])

totalCnt = 0

Aldaketa CNT guztientzat [c1, c2,…] egin

totalCnt = totalCnt + CNT

igortzen(epe t, zenbatu totalCnt)

[/Code]

biltzeaz:

Arazoa adierazpena -

Elementu multzo bat eta zenbait elementu funtzio batzuk ditugu. Orain beharrezkoa da, funtzioaren balio bera dute elementu guztiak gorde edo beste konputazio horietako batzuk, besteak beste, elementu guztiak talde batean tratatu ahal izateko, behar egiteko.

Irtenbidea -

konponbidea non mapatzailea Emandako funtzio kalkulatzen Elementu bakoitzaren eta funtzioaren balioa itzultzen du tekla bat eta bere balioa elementu bezala daukagu. gutxitzeko egitekoa da taldekatuta elementu guztiak dira eskuratu eta prozesatu edo gorde.

Filtering (grep), Prozesaketak eta Validation:

Arazoa adierazpena -

Let erregistro multzo bat dugu, eta baldintza da baldintza batzuk betetzen dituzten erregistro guztiak biltzeko edo eraldatu erregistro horiek beste zenbait ordezkaritza formatuak kontuan hartu gurekin. testu parsing eta erauzketa baloreetako - arazoa bigarren zatia esaterako zereginak sartzen dira.

Irtenbidea -

Arazo honen konponbidea da nahiko era sinplean - errekor bat hartzen du denbora batean eta irizpideak betetzen dituzten elementuak itzultzen mapatzailea bat dugu.

Banatutako Task Execution:

Arazoa adierazpena -

Let konputazionalak arazo handi bat dauka piezak eta emaitza anitz zati horiek guztiak banatu daiteke behar dugu kontuan hartu ahal izateko, azken emaitza lortzeko konbinatu behar da.

Irtenbidea -

Arazo honen konponbidea da zehaztapenak zatitu diren sarrera mappers, datu gisa gordetzen zehaztapen multzo bat sartu. mappers horietako bakoitza zehaztapen bat hartzen du denbora bat sarrerako datu gisa eta prozesatu eta emaitzak ekoizten. gutxitzeko lana da emaitza horiek guztiak batu eta azken emaitza ekoizten.

Etorriko Mezua gainditzea:

Arazoa adierazpena -

Let erakundeen sare bat dugu, eta ez dago haien artean harreman batzuk existitzen pensatzen. erakunde bakoitzaren egoera oinarritutako beste erakunde baten jabetza auzoko on kalkulatzeko beharrezkoak dira dugu. Egoera hau beste nodo distantzia bat bertan adierazten da ez dagoela bizilagun bat zenbait propietate eta ezaugarri izatea da irudikatzeko erabil daiteke.

Irtenbidea -

zein nodo multzo bat gordetzen sare bat daukagu ​​eta nodo bakoitzak ondoko nodo IDen zerrenda baten informazioa dauka. Conceptually, MapReduce lanpostuak modu errepikakorrean ere egiten dira eta iterazio bakoitzean nodoa mezuak bidaltzen bere bizilagunak. Eta gero, bizilaguna bakoitzak bere egoera eguneratzen ditu mezuaren oinarria jaso da on. iterazioak Hauek dira baldintza batzuk adibidez amaitu. Iterazio kopuru maximoa finkoa. From the technical point of view, Mapper mezuak nodo bakoitzeko gako gisa ondoko nodoaren izena erabiliz itzultzen. Hori dela eta, Mezu horiek guztiak dira sarrerako nodoaren arabera taldekatuta eta hortik gutxitzeko estatuko Birkalkulatu gai da eta nodo berridazten du egoera berriarekin.

Listing 4: Etorriko mezularitza joana

[Code]

klase Mapper

metodo mapa(id habia, oposiziorako NOBJ)

igortzen(id habia, oposiziorako NOBJ)

for all id mId in NObj.OutgoingRelations do

igortzen(id mId, message getMessage(NObj))

klase gutxitzeko

metodo murriztea(id m, [s1, s2,…])

M = null

messages = []

for all s in [s1, s2,…] egin

if IsObject(s) ondoren

M = s

bestela // s is a message

messages.add(s)

M.State = calculateState(messages)

igortzen(id m, item M)

[/Code]

Breadth First Search (This is a case study):

Arazoa adierazpena -

Let us consider we have a graph and it is required to calculate the distance from one source node to all other nodes present in the graph. This is also called the number of hops.

Irtenbidea -

The solution can be, first the source node emits 0 to all its neighbors. Ondoren bizilagunek hedatzeko counter hau incrementing ondoren 1 hop bakoitzerako.

Baloreak Bereizgarriak:

Arazoa adierazpena -

Let eremuak M eta N dituzten erregistroak multzo bat dugu pensatzen. baldintza da eremu M balioak esklusibo kopurua zenbatzea, Taldeko N bera azpimultzo bakoitzeko.

Irtenbidea -

Arazo honen konponbidea bi fasetan egin dakioke. Lehen fase batean,, mapatzailea gezurrezko counters ekoizten M eta N pare bakoitzerako. Ondoren gutxitzeko du agerraldi kopuru osoa zenbatzen bikote bakoitzeko. Fase honen helburua da M balioen berezitasuna mantentzea. Bigarren fasean, bikote ari N arabera taldekatuta eta elementu zenbakiak guztira etorri dira talde bakoitzaren kalkulatzen.

Summary: Artikulu honetan aztertu dugun normalean datu konputazio arazoak konpontzeko erabiltzen diren beste diseinu planteamendu. MapReduce diseinu ereduak etengabe eboluzionatzen, beraz, etorkizun hurbilean gehiago diseinu planteamendu ikusiko dugu. Dezagun gure ondorengo balak ere eztabaida laburbiltzen digu –

  • Mapa murrizten duten ordenagailuak ostalari batean bizi datuak prozesatzeko erabili da.
  • Diseinu patroiak arazoak konpontzeko erabiltzen ari dira.
  • normalean erabiltzen MapReduce patroiak batzuk ere azaltzen dira -
    • Kalkulatzea - ​​zenbatzea eta summing
    • biltzeaz
    • Iragazketa Parsing eta Validation
    • Banatutako zeregin exekuzioa
    • Etorriko mezua joana
    • Breadth First Search
    • Bilaketa Bereizgarriak

 

 

 

Tagged on:
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share