Geek Dirt

apr 24, 2021

i det første indlæg i Hadoop-serien introduktion af Hadoop og kørsel af et kortreduceringsprogram forklarede jeg det grundlæggende i Kortreducering. I dette indlæg forklarer Jeg dets forskellige komponenter som partitionering, Shuffle, Combiner, fletning, sortering først og derefter hvordan det fungerer.

partitionering:

hvis antallet af reduktionsmidler er 2 og hash funktion er:

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

derefter for nøgle 1:

partitionsnummer = hash(1) % 2 = 1;

til nøgle 2:

partitionsnummer = hash(2) % 2 = 0;

for nøgle 4:

partitionsnummer = hash(4) % 2 = 0;

det betyder output for nøgle 1 ville gå i partition_1 og output for nøgle 2 og 4 ville gå i partition_0.

Shuffle:

i den endelige output af map task kan der være flere partitioner, og disse partitioner skal gå til forskellige reducer opgave. Shuffling er dybest set at overføre kort output partitioner til de tilsvarende reducere opgaver. Map task notified application master om færdiggørelse af map task og application master meddeler tilsvarende reducer for at kopiere kortoutputtet til Reducer maskine.

Combiner:

sortering:

det er bare at sortere dataene baseret på nøgler.

fletning:

dette sker på reduktionssiden. Reducer kan hente data fra flere kortopgaver og ved at flette det fusionerer dataene fra forskellige kortopgaver i en enkelt enhed og opretholder sorteringsrækkefølgen.

kort-Reducer i detaljer:

kort:

det har en i hukommelsen circular buffer og det skriver direkte til buffer. Når bufferen når tærskelværdien (standard 80%), begynder den at skrive til spill file gennem en separat background thread. Kort opgave kan stadig skrive det output til buffer, mens baggrunden tråd kører. Før du skriver til spill fil, kort output, der er nøgle-værdi par er partitioneret og sorteret. Hvis en combiner er der, bliver den også kørt, der reducerer outputstørrelsen.

efter opgaven sorteres alle spill-filer igen, og der oprettes en enkelt fil, der er partitioneret og sorteret. Betyder, at denne endelige outputfil har flere partitioner. Efter kort opgave i afsluttet for en node dens output sendes til reducer. Derfor ser du reducere opgaven mere end 0%, mens kortet er mindre end <100%.

når du kun har en kortopgave, blandes der slet ikke, hvilket betyder, at kortlæggere skriver det endelige output direkte til HDFS.

reducer:

efter at have hentet data fra kortopgaven fusionerer den dataene til en enkelt enhed under merge phase. I stedet for at flette direkte alle filer til en, bruger den konceptet til merge factor, hvis formål er at minimere mængden af data skrevet til disk. Derefter under reducer fase, reduceres funktionen for hver tast i den sorterede output. Udgangen af denne fase skrives direkte til outputfilsystemet, typisk HDFS.

nyttige Links:

introduktion og bearbejdning af garn

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.