MapReduce desegnaj skemoj – nelonga enkonduko

featured_img

MapReduce desegnaj skemoj

Superrigardo: Desegna skemo estas nun ofta termino uzita en preskaŭ ĉiuj kampoj de softvara evoluado. Skemoj estas nenio sed kelkaj elprovita kaj elprovita desegnajn teknikojn uzita solvi komercajn problemojn. MapReduce estas nova teknologia domajno kaj ĝi ankaŭ havas ĝiajn proprajn desegnajn skemojn solvi datuman komputadon aferoj.

En ĉi tiu artikolo, Mi parolos pri malsamaj desegnaj skemoj uzita en MapReduce kadro.

Enkonduko: Mapo Reduktas estas uzita pretigi datumojn kiu loĝas sur nombro de komputiloj. Ĝi provizas klarajn kaj apartajn limojn inter kio ni povas kaj kio ni povas ne. Tio ĉi faras la nombron de elektoj ni devas konsideri, Malplia. Samtempe, Ni povas kalkuli ekstere kiel solvi problemon kun limoj. Desegnaj skemoj estis elprovita por multaj problemoj de tempo al tempo kaj montris la ĝustan nivelon de abstraction.

MapReduce desegnaj skemoj okupas la saman rolon en pli malgranda spaco de problemoj kaj solvoj. Ili provizas ĝeneralan kadron solvi nian datuman komputadon rilatita aferojn, Sen koncentranta sur la problema domajno. MapReduce desegnaj skemoj ankaŭ provizas oftan lingvon por teamoj laboranta kune sur MapReduce aplikoj.

MapReduce Desegna Skemo: Nun lasita nin diskuti malsamajn desegnajn alproksimiĝojn unu de unu en la sekvanta sekcio.

Kalkulanta:

Problema Komunikaĵo – Lasi nin konsideras ke ni havas staplon de dokumentoj kie ĉiu dokumento enhavas aron de terminoj. Nun ni havas postulon kalkuli la nombron de okazoj de ĉiu termino en la dokumento.

Solvo – En la sekvanta koda ereto ni havas Mapper ke simple registras ‘1' por ĉiu termino ĝi renkontas. La reducer ĉi tie transiras dum la listo de tia ones, Sumoj ili supre kaj produktas la rezulton.

Enlistiganta 1: Komputanta Kodon – 1

[Kodo]

Klasifiki Mapper

Metoda Mapo(Docid identigaĵo, Doc d)

Por ĉiuj termino t en doc d fari

Emanigi(Termino t, Kalkulo 1)

Klasifiki Reducer

Metodo Reduktas(Termino t, Kalkuloj [C1, C2,…])

Cnt = 0

Por ĉiuj kalkulo c je [C1, C2,…] Fari

Cnt = cnt + C

Emanigi(Termino t, Kalkuli cnt)

[/Kodo]

Kvankam Simpla, Sed la supra kodo havas evidentan malavantaĝon ke alta kvanto de falsaj sumigiloj estas emanigita de la Mapper. Nun ni povas redukti tion ĉi de summing la sumigiloj por ĉiu dokumento.

Enlistiganta 2: Komputanta Kodon – 2

[Kodo]

Klasifiki Mapper

Metoda Mapo(Docid identigaĵo, Doc d)

HArray = nova AssociativeArray

Por ĉiuj termino t en doc d fari

HArray{T} = HArray{T} + 1

Por ĉiuj termino t en HArray fari

Emanigi(Termino t, Kalkuli HArray{T})

[/Kodo]

Nun, Por amasigi la sumigilojn por ĉiuj la dokumentoj lasas havas la combiners –

Enlistiganta 3: Komputanta Kodon – 3

[Kodo]

Klasifiki Mapper

Metoda Mapo(Docid identigaĵo, Doc d)

Por ĉiuj termino ter en doc d fari

Emanigi(Termino ter, Kalkulo 1)

Klasifiki Combiner

Metoda Kombino(Termino ter, [C1, C2,…])

Sumo = 0

Por ĉiuj kalkulo cnt en [C1, C2,…] Fari

Suma = sumo + Cnt

Emanigi(Termino t, Kalkula sumo)

Klasifiki Reducer

Metodo Reduktas(Termino t, Kalkuloj [C1, C2,…])

TotalCnt = 0

Por ĉiuj kalkulo cnt en [C1, C2,…] Fari

TotalCnt = totalCnt + Cnt

Emanigi(Termino t, Kalkuli totalCnt)

[/Kodo]

Collating:

Problema Komunikaĵo –

Ni havas aron de eroj kaj iu funkcio de kelkaj eroj. Nun ĝi estas postulita savi ĉiuj la eroj kiu havas la saman valoron de funkcio aŭ elfari kelkaj alia komputado kiu postulas ĉiuj tiaj eroj esti pretigita en grupo.

Solvo –

Ni havas la solvon kie la mapper komputas la donita funkcion por ĉiu ero kaj revenas la valoron de la funkcio kiel kerna kaj la ero kiel ĝia valoro. La rolo de la reducer estas venigi ĉiuj la grupigita erojn kaj pretigi ilin aŭ savi ilin.

Filtranta (Grep), Analizanta kaj Validumado:

Problema Komunikaĵo –

Lasi nin konsideras nin havas aron de rekordoj kaj la postulo estas kolekti ĉiuj la rekordoj kiu renkontas iun kondiĉon aŭ transformi ĉi tiujn rekordojn en kelkaj aliaj reprezentadaj formatoj. La dua parto de la problemo inkluzivas taskojn kiel – teksto analizanta kaj eltiro de la valoroj.

Solvo –

Solvo al ĉi tiu problemo estas tre rekte antaŭen – ni havas mapper kiu prenas unu rekordon samtempe kaj revenas la erojn kiu renkontas la kriteriojn.

Distribuita Taskan Ekzekuton:

Problema Komunikaĵo –

Lasi nin konsideras nin havas grandan computational problemo kiu povas esti disigita en multoblaj partoj kaj rezultoj de ĉiuj de ĉi tiuj partoj devas esti kombinita por akiri la finan rezulton.

Solvo –

Solvo al ĉi tiu problemo estas fendi la specifojn en aro de specifo kiu estas entenita kiel eniga datumo por la mappers. Ĉiu de ĉi tiuj mappers prenas unu specifon samtempe kiel eniga datumo kaj pretigas ilin kaj produktas la rezultojn. La laborposteno de la reducer estas kombini ĉiujn de ĉi tiuj rezultoj kaj produktas la finan rezulton.

Iterative Mesaĝa Morto:

Problema Komunikaĵo –

Lasi nin konsideras nin havas reton de entoj kaj tie ekzistas iun interrilaton inter ili. Ni estas postulita kalkuli la staton de ĉiu ento bazita sur la nemoveblaĵo de alia ento en la kvartalo. Ĉi tiu stato povas esti uzita reprezenti distancon al aliaj nodoj kiu estas indiko kiu estas najbaro havanta certajn nemoveblaĵojn kaj karakterizaĵojn.

Solvo –

Ni havas reton kiu entenas aron de nodoj kaj ĉiu nodo enhavas la informon de listo de apudaj nodaj Identigaĵoj. Conceptually, La MapReduce laborpostenoj estas elfarita en iterative vojo kaj ĉe ĉiu iteration la nodo sendas mesaĝojn al ĝiaj najbaroj. Kaj tiam ĉiu najbaro ĝisdatigas ĝian staton sur la bazo de la mesaĝo kiu estas ricevita. Ĉi tiuj iterations estas finita de iu kondiĉo ekz. Riparita maksimuman nombron de iterations. De la teknika punkto de vido, La Mapper revenas la mesaĝojn por ĉiu nodo uzanta la IDENTIGAĴON de la apuda nodo kiel ŝlosilo. Rezulte, Ĉiuj de ĉi tiuj mesaĝoj estas grupigita de la alvenanta nodo kaj tial la reducer estas kapabla al recalculate la stato kaj reverkas la nodon kun la nova stato.

Enlistiganta 4: Iterative messaging morto

[Kodo]

Klasifiki Mapper

Metoda Mapo(Identigaĵo nId, Kontraŭargumenti NObj)

Emanigi(Identigaĵo nId, Kontraŭargumenti NObj)

Por ĉiuj identigaĵo mId en NObj.OutgoingRelations fari

Emanigi(Identigaĵo mId, Mesaĝo getMessage(NObj))

Klasifiki Reducer

Metodo Reduktas(Identigaĵo m, [S1, S2,…])

M = null

Mesaĝoj = []

Por ĉiuj s je [S1, S2,…] Fari

Se IsObject(S) Tiam

M = s

Alia // S estas mesaĝo

Mesaĝoj.Aldonas(S)

M.Ŝtata = calculateState(Mesaĝoj)

Emanigi(Identigaĵo m, Ero M)

[/Kodo]

Amplekso Unua Serĉo (Tio ĉi estas kaza studo):

Problema Komunikaĵo –

Lasi nin konsideras nin havas grafeon kaj ĝin estas postulita kalkuli la distancon de unu fonta nodo al ĉiuj alia noda donaco en la grafeo. Tio ĉi estas ankaŭ vokita la nombron de saltetoj.

Solvo –

La solvo povas esti, Unue la fonta nodo emanigas 0 Al ĉiuj ĝiaj najbaroj. Tiam la najbaroj disvastigas ĉi tiun sumigilon post incrementing ĝi de 1 Por ĉiu salteto.

Apartaj Valoroj:

Problema Komunikaĵo –

Lasi nin konsideras nin havas aron de rekordoj kiu enhavas kampojn M kaj N. La postulo estas kalkuli la totalan nombron de unikaj valoroj de kampo M por ĉiu subgrupo de la sama Grupo N.

Solvo –

La solvo al ĉi tiu problemo povas esti traktita en du stadioj. En la unua stadio, La mapper produktoj falsaj sumigiloj por ĉiu paro de M kaj N. Tiam la reducer kalkulas la totalan nombron de okazoj por ĉiu paro. La objektivo de ĉi tiu fazo estas daŭrigi unikecon de M valoroj. En la dua fazo, Paroj estas grupigita de N kaj la totalaj nombroj de eroj estas kalkulita por ĉiu grupo.

Resuma: En ĉi tiu artikolo ni diskutis malsamajn desegnajn alproksimiĝojn kiu estas ofte uzita solvi datuman komputadon aferoj. MapReduce desegnaj skemoj estas kontinue evoluanta, Do ni vidos pli da desegnajn alproksimiĝojn en proksima estonteco. Lasi nin resumi nian diskuton en sekvanta kuglojn –

  • Mapo reduktas estas uzita pretigi datumojn kiu loĝas sur gastiganto de komputiloj.
  • Desegnaj skemoj estas estanta uzita solvi problemojn.
  • Kelkaj ofte uzita MapReduce desegnaj skemoj estas enlistigita sub –
    • Kalkulanta – Kalkuladon kaj Summing
    • Collating
    • Filtranta Analizanta kaj Validumado
    • Distribuita taskan ekzekuton
    • Iterative mesaĝa morto
    • Amplekso Unua Serĉo
    • Aparta Serĉo

?

?

?

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

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share