MapReduce är ett viktigt programmeringskoncept som du måste behärska för att bli en professionell dataingenjör. Det tillhandahåller lösningar för distribuerade big data-filhanteringssystem. Att förstå den teoretiska bakgrunden för MapReduce gör det därför lätt för dig att lära dig själva tekniken.

Men vad är MapReduce, och hur fungerar det i distribuerade filsystem? Det får du reda på i det här inlägget.

Vad är MapReduce?

MapReduce är en datateknikmodell som tillämpas på program eller applikationer som bearbetar big data-logik inom parallella kluster av servrar eller noder. Den distribuerar en bearbetningslogik över flera datanoder och aggregerar resultaten till klientservern.

MapReduce säkerställer att behandlingen är snabb, minneseffektiv och tillförlitlig, oavsett storleken på data.

Hadoop File System (HDFS), Google File System (GFS), Apache Kafka, GlusterFS och fler är exempel på distribuerade big data-filsystem som använder MapReduce-algoritmen.

Vad är ett distribuerat filsystem?

Ett distribuerat filsystem (DFS) är en metod för lagring i datoranvändning som innebär att stora datafiler delas upp i mindre bitar och sprids över flera servrar i systemet. Det tillåter klienter från olika källor att skriva och läsa data, dela och köra programmerbar logik på data – direkt från var som helst.

instagram viewer

Ett distribuerat filsystem består vanligtvis av den primära servern (även kallad en NameNode i Hadoop), parallella kluster och flera noder eller servrar som innehåller replikerade databitar, allt i en data Centrum. Varje kluster inom det distribuerade filsystemet innehåller dock hundratals till tusentals av dessa noder.

Den primära servern upptäcker automatiskt ändringar inom klustren. Så det kan tilldela roller i enlighet med varje nod.

När den primära servern tar emot en datafil skickar den den till klustren inom DFS. Dessa kluster delar och distribuerar data till varje nod inom dem. Varje nod replikerar sedan data till vad som kallas datablock för att bilda en kedja. Vid denna tidpunkt blir varje nod en chunk-server.

Relaterad:Vad är datacenter och varför är de viktiga?

Förutom att hantera åtkomst till data, innehåller den primära servern en metadataanteckning på varje fil. På så sätt vet den vilken nod som hanterar vilken fil i varje kluster.

Hur fungerar MapReduce i distribuerade filsystem?

Som nämnts tidigare är big data tillgänglig i flera chunkservrar i en DFS. Ett sätt att utföra programmerbar logik på dessa datafiler är att aggregera dem till en. Du kan sedan dra dem till en enda server, som nu hanterar logiken.

Även om det är ett konventionellt sätt att söka efter data, är problemet att data blir en helhet igen inuti den enda servern. Så en enda server måste fortfarande hantera logik på flera petabyte data samtidigt. Tyvärr var detta problemet som systemet tänkte lösa först. Så det är trots allt inte en bästa praxis.

Relaterad:Hur man frågar efter flera databastabeller samtidigt med SQL-kopplingar

Vidare innebär en sådan sammanläggning till en enda server flera prestandarisker. Dessa kan sträcka sig från en serverkrasch, dålig beräkningseffektivitet, hög latens, hög minnesförbrukning och sårbarheter till mer.

Men ett annat sätt att köra den programmerbara logiken är att lämna data i bitar inuti varje distribuerad server. Och sedan injicera logikfunktionen i varje server. Det innebär att varje chunkserver inom ett kluster nu hanterar sin beräkning. Att använda detta tillvägagångssätt innebär att det inte finns något behov av att samla eller dra data till en enda server.

Att det finns MapReduce-konceptet i ett distribuerat datafilsystem. Det säkerställer att en enda server inte behöver hämta data från källan. Istället sprider den bearbetningsfunktionen (MapReduce) i flera chunknoder i separata kluster, så varje nod inom varje kluster hanterar logiken individuellt utan att överbelasta en enda server.

Följaktligen hanterar flera servrar logik på databitar samtidigt. Denna fördelning av arbetskraft mellan servrar resulterar i optimal prestanda och högre säkerhet, bland annat.

Hur bearbetas MapReduce-resultatet i en DFS?

Så här fungerar hela MapReduce-bearbetningen i en DFS:

  • Den primära servern tar emot en big data-fråga (MapReduce-funktion) från klienten.
  • Den skickar sedan detta till varje kluster för att sprida det över varje nod inom det.
  • Varje nod bearbetar MapReduce-funktionen och ackumulerar dess resultat.
  • En annan server sammanställer resultaten från varje nod och skickar dem tillbaka till den primära servern.
  • Den primära servern skickar sedan resultatet som ett svar till klienten.

Således är det enda jobbet för en primär server att skicka ett lättberäknat resultat till klienten, lyssna på ändringar och hantera åtkomst till data. Den utför inga beräkningar. Det är därför de flesta molnapplikationer är imponerande snabba trots mängden data de bearbetar.

Exakt vad är Map and Reduce i MapReduce?

MapReduce använder två programmeringslogiker för att bearbeta big data i ett distribuerat filhanteringssystem (DFS). Dessa är en karta och reducera funktion.

De Karta funktionen utför bearbetningsjobbet på var och en av datanoderna i varje kluster i ett distribuerat filsystem. De minska funktionen aggregerar sedan resultaten som returneras av varje chunkserver och skickar den till en annan server inom DFS för resultataggregering. Den mottagande servern skickar denna beräkning till den primära servern, som skickar det returnerade värdet till servern på klientsidan.

Vad händer när en Chunk-server går ner?

Servrar inom ett distribuerat filsystem (DFS) kan ibland uppleva driftstopp. Du kanske tror att detta kommer att bryta hela systemet, men det gör det inte.

Det finns ett datorsystem som förhindrar ett sådant förestående haveri. Feltolerans kallas det.

Relaterad:Vad är Cloud Computing? Hur fungerar molnteknik?

Därför, även när en server stängs av under databehandling, säkerställer feltolerans att den primära servern upptäcker den omedelbart. Och eftersom det finns en kopia av databitarna över noderna, överför den primära servern omedelbart bearbetningsjobbet till en annan server. På så sätt påverkar inte serverns driftstopp i DFS databehandlingen.

MapReduce förenklar Big Data Processing

MapReduce är en viktig modell som gör datoranvändning lätt i distribuerade filsystem. Eftersom det tillåter flera noder att köra en beräkning samtidigt, är det en snabb metod som används av olika teknikjättar för att lösa många av problemen som följer med big data-analys.

Google, Amazon, IBM med flera är exempel på företag som använder detta koncept. Google, till exempel, använder MapReduce-konceptet för att få sökresultat under Google-sökning.

Vad är Big Data, varför är det viktigt och hur farligt är det?

Big data driver många branscher och har en effekt på alla våra liv. Men är det farligare eller nyttigare?

Läs Nästa

Dela med sigTweetE-post
Relaterade ämnen
  • Programmering
  • Programmering
  • Big Data
  • Dataanalys
Om författaren
Idowu Omisola (133 artiklar publicerade)

Idowu brinner för allt smart teknik och produktivitet. På fritiden leker han med kodning och byter till schackbrädet när han har tråkigt, men han älskar också att bryta sig loss från rutinen då och då. Hans passion för att visa människor vägen runt modern teknik motiverar honom att skriva mer.

Mer från Idowu Omisola

Prenumerera på vårt nyhetsbrev

Gå med i vårt nyhetsbrev för tekniska tips, recensioner, gratis e-böcker och exklusiva erbjudanden!

Klicka här för att prenumerera