Geek Dirt

apr 24, 2021

i Det første innlegget I Hadoop-serien Introduksjon Av Hadoop og kjører et kart-reduser program, forklarte jeg grunnleggende Om Kart-Reduser. I dette innlegget forklarer jeg de forskjellige komponentene Som Partisjonering, Shuffle, Combiner, Sammenslåing, Sortering først og deretter hvordan det fungerer.

Partisjonering:

hvis antall reduksjonsgir er 2 og hash-funksjonen er:

#This function would return the data passes in itfunction hash(data){#this is just for example purposereturn data;}

deretter for nøkkel 1:

partisjonsnummer = hash(1) % 2 = 1;

for nøkkel 2:

partisjonsnummer = hash(2) % 2 = 0;

for nøkkel 4:

partisjonsnummer = hash(4) % 2 = 0;

det betyr at utgang for nøkkel 1 ville gå i partition_1 og utgang for nøkkel 2 og 4 ville gå i partition_0.

Shuffle:

i den endelige utgangen av kartoppgave kan det være flere partisjoner, og disse partisjonene skal gå til forskjellige reduce-oppgaver. Shuffling overfører i utgangspunktet kartutgangspartisjoner til tilsvarende reduksjonsoppgaver. Kart oppgave varslet søknad master om ferdigstillelse av kart oppgave og søknad master varsler tilsvarende redusering å kopiere kartet utgang til redusere maskin.

Combiner:

Sortering:

det sorterer bare dataene basert på nøkler.

Sammenslåing:

dette skjer på reduksjonssiden. Reducer kan få data fra flere kartoppgaver og gjennom sammenslåing fusjonerer det dataene til forskjellige kartoppgaver i en enkelt enhet, og opprettholder sorteringsrekkefølgen.

Kart-Reduser i detalj:

Kart:

den har et minne circular buffer og det skriver direkte til buffer. Når bufferen når terskelverdien (standard 80%) begynner den å skrive til spill file gjennom en egen background thread. Kart oppgave kan fortsatt skrive det er utgang til buffer mens bakgrunnen tråden kjører. Før du skriver til spillfil, er kartutgang som er nøkkelverdipar partisjonert og sortert. Hvis en combiner er der, blir det også kjørt som reduserer utgangsstørrelsen.

etter oppgaven sorteres alle spillfilene igjen, og en enkelt fil opprettes som er partisjonert og sortert. Betyr at denne endelige utdatafilen har flere partisjoner. Etter kart oppgave i fullført for en node sin utgang sendes til redusering. Det er derfor du ser redusere aktivitet mer enn 0% mens kart er mindre enn < 100%.

når du har en kart-oppgave, er det ikke shuffling i DET hele tatt, noe som betyr at mappers vil skrive den endelige utgangen direkte til HDFS.

Reduser:

etter å ha hentet data fra kartoppgaven, slås dataene sammen til en enkelt enhet under merge phase. I stedet for å slå sammen alle filene i en, bruker den konseptet til merge factor, som har til formål å minimere mengden data som er skrevet til disk. Deretter under redusere fase, er redusere funksjonen påberopes for hver tast i sortert utgang. Utgangen av denne fasen er skrevet direkte til utdatafilsystemet, typisk HDFS.

Nyttige Lenker:

Introduksjon og arbeid Av Garn

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.