MapReduce er et væsentligt programmeringskoncept, som du skal mestre for at blive en professionel dataingeniør. Det leverer løsninger til distribuerede big data filhåndteringssystemer. Derfor vil forståelsen af ​​den teoretiske baggrund for MapReduce gøre det nemt for dig at lære selve teknikken.

Men hvad er MapReduce, og hvordan fungerer det i distribuerede filsystemer? Det finder du ud af i dette indlæg.

Hvad er MapReduce?

MapReduce er en dataingeniørmodel, der anvendes til programmer eller applikationer, der behandler big data-logik i parallelle klynger af servere eller noder. Det distribuerer en behandlingslogik på tværs af flere dataknudepunkter og samler resultaterne til klient-serveren.

MapReduce sikrer, at behandlingen er hurtig, hukommelseseffektiv og pålidelig, uanset størrelsen på dataene.

Hadoop File System (HDFS), Google File System (GFS), Apache Kafka, GlusterFS og flere er eksempler på distribuerede big data-filsystemer, der bruger MapReduce-algoritmen.

Hvad er et distribueret filsystem?

instagram viewer

Et distribueret filsystem (DFS) er en lagringsmetode i computeren, der involverer opdeling af store datafiler i mindre bidder og sprede dem over flere servere i systemet. Det giver klienter fra forskellige kilder mulighed for at skrive og læse data, dele og køre programmerbar logik på data – lige fra hvor som helst.

Et distribueret filsystem består typisk af den primære server (også kaldet en NameNode i Hadoop), parallelle klynger og flere noder eller servere, der indeholder replikerede datastykker, alt sammen i en data centrum. Hver klynge i det distribuerede filsystem rummer dog hundreder til tusindvis af disse noder.

Den primære server registrerer automatisk ændringer i klyngerne. Så det kan tildele roller i overensstemmelse hermed til hver node.

Når den primære server modtager en datafil, sender den den til klyngerne i DFS. Disse klynger deler og distribuerer dataene til hver knude i dem. Hver node replikerer derefter dataene til det, der kaldes datablokke for at danne en kæde. På dette tidspunkt bliver hver node en chunk-server.

Relaterede:Hvad er datacentre, og hvorfor er de vigtige?

Ud over at administrere adgangen til dataene, har den primære server en metadataanmærkning på hver fil. På den måde ved den, hvilken node der håndterer hvilken fil i hver klynge.

Hvordan virker MapReduce i distribuerede filsystemer?

Som tidligere nævnt er big data tilgængelig i flere chunk-servere i en DFS. En måde at udføre programmerbar logik på disse datafiler på er at samle dem til én. Du kan så trække dem ind på en enkelt server, som nu håndterer logikken.

Selvom det er en konventionel måde at forespørge data på, er problemet, at dataene bliver en helhed igen inde i den enkelte server. Så en enkelt server skal stadig administrere logik på flere petabyte data på én gang. Desværre var dette det problem, som systemet havde til hensigt at løse i starten. Så det er trods alt ikke en bedste praksis.

Relaterede:Sådan forespørges flere databasetabeller på én gang med SQL-joins

Yderligere udgør en sådan sammenlægning til en enkelt server adskillige ydeevnerisici. Disse kan variere fra et servernedbrud, dårlig beregningseffektivitet, høj latenstid, højt hukommelsesforbrug og sårbarheder til mere.

Men en anden måde at køre den programmerbare logik på er at efterlade dataene i bidder inde i hver distribueret server. Og injicer derefter logikfunktionen i hver server. Det betyder, at hver chunk-server i en klynge nu håndterer sin beregning. Brug af denne tilgang betyder, at der ikke er behov for at samle eller trække data til en enkelt server.

At der er MapReduce-konceptet i et distribueret datafilsystem. Det sikrer, at en enkelt server ikke behøver at trække data fra kilden. I stedet spreder den behandlingsfunktionen (MapReduce) i flere chunk noder i separate klynger, så hver node i hver klynge håndterer logikken individuelt uden at overbelaste en enkelt server.

Følgelig håndterer flere servere logik på bits af data samtidigt. Denne fordeling af arbejdskraft blandt servere resulterer blandt andet i optimal ydeevne og højere sikkerhed.

Hvordan behandles MapReduce-resultatet i en DFS?

Sådan fungerer hele MapReduce-behandlingen i en DFS:

  • Den primære server modtager en big data-forespørgsel (MapReduce-funktion) fra klienten.
  • Det sender derefter dette til hver klynge for at sprede det på tværs af hver knude i den.
  • Hver node behandler MapReduce-funktionen og akkumulerer dens resultat.
  • En anden server samler resultaterne fra hver node og sender dem tilbage til den primære server.
  • Den primære server sender derefter resultatet som et svar til klienten.

Den eneste opgave for en primær server er således at sende et let beregnet resultat til klienten, lytte til ændringer og administrere adgangen til dataene. Den udfører ingen beregninger. Dette er grunden til, at de fleste cloud computing-applikationer er imponerende hurtige på trods af mængden af ​​data, de behandler.

Hvad er kort og reduktion præcist i MapReduce?

MapReduce bruger to programmeringslogikker til at behandle big data i et distribueret filhåndteringssystem (DFS). Disse er en kort og reducere funktion.

Det kort funktion udfører behandlingsjobbet på hver af dataknuderne i hver klynge i et distribueret filsystem. Det reducere funktion aggregerer derefter de resultater, der returneres af hver chunk-server, og sender dem til en anden server i DFS'en til resultataggregering. Den modtagende server sender denne beregning til den primære server, som sender den returnerede værdi til serveren på klientsiden.

Hvad sker der, når en Chunk-server går ned?

Servere i et distribueret filsystem (DFS) kan nogle gange opleve nedetid. Du tror måske, at dette vil ødelægge hele systemet, men det gør det ikke.

Der er et system inden for computing, der forhindrer et sådant forestående nedbrud. Det kaldes fejltolerance.

Relaterede:Hvad er Cloud Computing? Hvordan fungerer cloud-teknologi?

Derfor, selv når en server slukker under databehandling, sikrer fejltolerance, at den primære server opdager den med det samme. Og da der er en replika af datastykkerne på tværs af noderne, overfører den primære server øjeblikkeligt behandlingsjobbet til en anden server. På den måde påvirker servernedetid i DFS ikke databehandlingen.

MapReduce letter behandling af big data

MapReduce er en essentiel model, der gør databehandling let i distribuerede filsystemer. Fordi det tillader flere noder at køre en beregning samtidigt, er det en hurtig metode, der bruges af forskellige teknologigiganter til at løse mange af de problemer, der følger med big data-analyse.

Google, Amazon, IBM er blandt andre eksempler på virksomheder, der bruger dette koncept. Google anvender for eksempel MapReduce-konceptet til at bringe forespørgselsresultater under Google-søgning.

Hvad er big data, hvorfor er det vigtigt, og hvor farligt er det?

Big data driver mange industrier og har en effekt på alle vores liv. Men er det mere farligt eller nyttigt?

Læs Næste

DelTweetE-mail
Relaterede emner
  • Programmering
  • Programmering
  • Big Data
  • Dataanalyse
Om forfatteren
Idowu Omisola (133 artikler udgivet)

Idowu brænder for alt smart teknologi og produktivitet. I sin fritid leger han med kodning og skifter til skakbrættet, når han keder sig, men han elsker også at bryde ud af rutinen en gang imellem. Hans passion for at vise folk vejen rundt om moderne teknologi motiverer ham til at skrive mere.

Mere fra Idowu Omisola

Abonner på vores nyhedsbrev

Tilmeld dig vores nyhedsbrev for tekniske tips, anmeldelser, gratis e-bøger og eksklusive tilbud!

Klik her for at abonnere