sql >> Database teknologi >  >> NoSQL >> HBase

Hadoop MapReduce jobudførelse flowdiagram

I denne Hadoop blog, vil vi give dig en ende til ende MapReduce jobudførelsesflow. Her vil vi beskrive hver komponent, som er den del af MapReduce, der arbejder i detaljer.

Denne blog hjælper dig med at svare på, hvordan Hadoop MapReduce fungerer, hvordan datastrømme i MapReduce, hvordan Mapreduce-job udføres i Hadoop?

Hvad er MapReduce?

Hadoop MapReduce er databehandlingslaget. Den behandler den enorme mængde strukturerede og ustrukturerede data, der er gemt i HDFS. MapReduce behandler data parallelt ved at opdele jobbet i et sæt af uafhængige opgaver. Så parallel behandling forbedrer hastigheden og pålideligheden.

Hadoop MapReduce databehandling foregår i 2 faser- Map og Reduce fase.

  • Kortfase- Det er den første fase af databehandlingen. I denne fase specificerer vi al den komplekse logik/forretningsregler/dyr kode.
  • Reducer fase- Det er anden fase af behandlingen. I denne fase specificerer vi letvægtsbehandling som aggregering/summation.

Trin i MapReducer jobudførelsesflow

MapReduce behandler dataene i forskellige faser ved hjælp af forskellige komponenter. Lad os diskutere trinene for jobudførelse i Hadoop.

1. Input filer

I inputfiler er data for MapReduce-job gemt. I HDFS , input-filer findes. Inputfilformatet er vilkårligt. Linjebaserede logfiler og binært format kan også bruges.

2. InputFormat

Derefter definerer InputFormat, hvordan disse inputfiler skal opdeles og læses. Den vælger filerne eller andre objekter til input. InputFormat opretter InputSplit.

3. InputSplits

Det repræsenterer de data, som vil blive behandlet af en individuel Mapper . For hver opdeling oprettes en kortopgave. Således er antallet af kortopgaver lig med antallet af InputSplits. Rammeopdeling opdeles i poster, som mapper proces.

4. RecordReader

Den kommunikerer med inputSplit. Og konverterer derefter dataene til nøgle-værdi-par velegnet til læsning af kortlæggeren. RecordReader bruger som standard TextInputFormat til at konvertere data til et nøgle-værdi-par.

Den kommunikerer til InputSplit indtil færdiggørelsen af ​​fillæsningen. Den tildeler byte offset til hver linje, der er til stede i filen. Derefter sendes disse nøgleværdi-par videre til kortlæggeren for yderligere behandling.

5. Mapper

Den behandler input-record produceret af RecordReader og genererer mellemliggende nøgleværdi-par. Mellemudgangen er helt anderledes end inputparret. Outputtet fra mapperen er den fulde samling af nøgleværdi-par.

Hadoop framework gemmer ikke output fra mapper på HDFS. Det gemmer ikke, da data er midlertidige, og skrivning på HDFS vil skabe unødvendige flere kopier. Så sender Mapper outputtet til kombinereren for yderligere behandling.

4. Kombiner

Combiner er Mini-reducer, som udfører lokal aggregering på mapperens output. Det minimerer dataoverførslen mellem mapper og reducer. Så når combiner-funktionaliteten er fuldført, sender framework outputtet til partitioneren for yderligere behandling.

5. Partitioner

Partitioner opstår, hvis vi arbejder med mere end én reducering. Den tager output fra combineren og udfører partitionering.

Opdeling af output foregår på baggrund af nøglen i MapReduce. Ved hash-funktion udleder nøglen (eller en delmængde af nøglen) partitionen.

På basis af nøgleværdien i MapReduce sker partitionering af hver combiner-output. Og så går posten med den samme nøgleværdi ind i den samme partition. Derefter sendes hver partition til en reducering.

Partitionering i MapReduce-udførelse muliggør jævn fordeling af kortoutput over reducereren.

6. Blanding og sortering

Efter partitionering blandes outputtet til reduktionsknuden. Blandingen er den fysiske bevægelse af data, som sker over netværket. Efterhånden som alle kortlæggere afslutter og blander outputtet på reduceringsnoderne.

Derefter fletter framework dette mellemprodukt og sorterer. Dette leveres så som input for at reducere fasen.

7. Reducer

Reducer tager derefter sæt af mellemliggende nøgle-værdi-par produceret af kortlæggerne som input. Derefter kører en reduceringsfunktion på hver af dem for at generere output.

Reduktionens output er det endelige output. Framework gemmer derefter outputtet på HDFS.

8. RecordWriter

Den skriver disse output-nøgleværdi-par fra Reducer-fasen til outputfilerne.

9. OutputFormat

OutputFormat definerer den måde, hvorpå RecordReader skriver disse outputnøgleværdipar i outputfiler. Så dets forekomster leveret af Hadoop skriver filer i HDFS. OutputFormat-instanser skriver således det endelige output fra reducer på HDFS.

Konklusion

Vi har lært trin for trin MapReduce job execution flow. Jeg håber, at denne blog hjælper dig meget med at forstå, hvordan MapReduce fungerer.

Hvis stadig, har du en forespørgsel relateret til MapReduce jobudførelsesflow, så du kan dele med os i kommentarfeltet nedenfor. Vi vil gøre vores bedste for at løse dem.


  1. MongoDB Find Exact Array Match, men rækkefølgen er ligegyldig

  2. Operationel databasetilgængelighed

  3. Diagnosticerer uventet redis-serverfejl

  4. Hvordan fjerner man et dokument refereret af et id i mongoDB fra php?