Vad är MapReduce?
MapReduce-programmeringsramen används för att utföra distribuerad och parallellbehandling med stora datamängder i en distribuerad miljö. Karta och Minska är de två distinkta uppgifterna för ett kartminskningsprogram. Först i kartfasen läses data, och nyckelvärdespar genereras ur den. Sedan matas dessa nyckelvärdspar till att reducera uppgiften som aggregerar nyckelvärdspar-data till den mindre uppsättningen värden som producerar den slutliga utgången. Således implementeras alltid en reduceringsuppgift efter att en kartuppgift har slutförts. Det är mycket lätt att skala databehandling över flera datornoder.
Det finns nämligen tre steg i programmet:
- Kartscen
- Blanda scenen
- Minska scenen
Exempel :
Wordcount problem-
Anta att nedan är inmatningsdata:
- Mike Jon Jake
- Paul Paul Jake
- Mike Paul Jon
1. Ovanstående data är indelade i tre ingångsdelningar enligt nedan:
- Mike Jon Jake
- Paul Paul Jake
- Mike Paul Jon
2. Därefter matas dessa data in i nästa fas som kallas mappningsfas.
Så för den första raden (Mike Jon Jake) har vi tre nyckelvärdespar - Mike, 1; Jon, 1; Jake, 1.
Nedan visas resultatet i kartläggningsfasen:
- Mikrofon, en
Jon, en
Jake, en - Paul, en
Paul, en
Jake, en - Mikrofon, en
Paul, en
Jon, en
3. Ovanstående data matas sedan in i nästa fas som kallas sorterings- och blandningsfasen.
I denna fas grupperas data i unika nycklar och sorteras. Nedan är resultatet i sorterings- och blandningsfasen:
- Jake, (1, 1)
- Jon, (1, 1)
- Mikrofon, (1, 1)
- Paul, (1, 1, 1)
4. Ovanstående data matas sedan in i nästa fas som kallas reduceringsfasen.
Här samlas alla nyckelvärden och antalet 1 räknas. Nedan är resultatet i reduceringsfas:
- Jake, 2
- Jon, 2
- Mikrofon, två
- Paul, 3
Fördelar med MapReduce:
Här lär vi oss några viktiga fördelar med MapReduce Programming Framework,
1. Skalbarhet
Hadoop som en plattform som är mycket skalbar och beror till stor del på dess förmåga att den lagrar och distribuerar stora datamängder över många servrar. Servrarna som används här är ganska billiga och kan fungera parallellt. Systemets processorkraft kan förbättras med tillägg av fler servrar. De traditionella relationsdatabashanteringssystemen eller RDBMS kunde inte skala för att behandla enorma datamängder.
2. Flexibilitet
Hadoop MapReduce-programmeringsmodell erbjuder flexibilitet för att bearbeta struktur eller ostrukturerad data av olika affärsorganisationer som kan använda sig av uppgifterna och kan arbeta med olika typer av data. Således kan de generera ett affärsvärde ur de data som är meningsfulla och användbara för företagsorganisationerna för analys. Oavsett datakälla oavsett om det är sociala medier, klickström, e-post osv. Hadoop erbjuder stöd för många språk som används för databehandling. Tillsammans med allt detta tillåter Hadoop MapReduce-programmering många applikationer som marknadsanalys, rekommendationssystem, datalager och bedrägeri.
3. Säkerhet och verifiering
Om någon utomstående person får tillgång till alla uppgifter i organisationen och kan hantera flera petabytes av uppgifterna kan det göra mycket skada när det gäller affärsverksamhet i drift till företagsorganisationen. Denna risk hanteras av MapReduce-programmeringsmodellen genom att arbeta med hdfs och HBase som tillåter hög säkerhet som endast tillåter den godkända användaren att arbeta med den lagrade informationen i systemet.
4. Kostnadseffektiv lösning
Ett sådant system är mycket skalbart och är en mycket kostnadseffektiv lösning för en affärsmodell som måste lagra data som växer exponentiellt i linje med dagens krav. När det gäller gamla traditionella relationsdatabashanteringssystem var det inte så lätt att bearbeta data som med Hadoop-systemet när det gäller skalbarhet. I sådana fall tvingades verksamheten att minska uppgifterna och vidare implementera klassificering utifrån antaganden om hur vissa data kan vara värdefulla för organisationen och därmed ta bort rådata. Här räddas Hadoop-utbyggnadsarkitekturen med MapReduce-programmering.
5. Snabb
Hadoop distribuerade filsystem HDFS är en nyckelfunktion som används i Hadoop som i princip implementerar ett mappningssystem för att lokalisera data i ett kluster. MapReduce-programmering är det verktyg som används för databehandling och det finns också på samma server som möjliggör snabbare bearbetning av data. Hadoop MapReduce bearbetar stora mängder data som är ostrukturerade eller halvstrukturerade på kortare tid.
6. En enkel modell för programmering
MapReduce-programmering är baserad på en mycket enkel programmeringsmodell som i princip tillåter programmerarna att utveckla ett MapReduce-program som kan hantera många fler uppgifter med enklare och effektivare. MapReduce-programmeringsmodellen är skriven med Java-språket är mycket populär och mycket lätt att lära sig. Det är lätt för människor att lära sig Java-programmering och designa databehandlingsmodell som uppfyller deras affärsbehov.
7. Parallell behandling
Programmeringsmodellen delar uppgifterna på ett sätt som gör det möjligt att utföra den oberoende uppgiften parallellt. Därför gör denna parallella bearbetning det enklare för processerna att ta på sig var och en av de uppgifter som hjälper till att köra programmet på mycket mindre tid.
8. Tillgänglighet och fjädrande natur
Hadoop MapReduce programmeringsmodell bearbetar data genom att skicka data till en enskild nod samt vidarebefordra samma uppsättning data till de andra noderna som är bosatta i nätverket. Som ett resultat, vid fel i en viss nod är samma datakopia fortfarande tillgängliga på de andra noderna som kan användas närhelst det krävs för att säkerställa tillgängligheten av data.
På detta sätt är Hadoop feltolerant. Detta är en unik funktionalitet som erbjuds i Hadoop MapReduce att den snabbt kan känna igen felet och tillämpa en snabbfix för en automatisk återställningslösning.
Det finns många företag över hela världen som använder kart-reducera som facebook, yahoo, etc.
Slutsats - Vad är MapReduce
Kartminskning har en stor kapacitet när det gäller stor databehandling jämfört med traditionella RDBMS-system. Många organisationer har redan insett sin potential och flyttar till den nya tekniken. Det är tydligt att kartminskning har mycket lång tid att gå i en stor databehandlingsplattform.
Rekommenderade artiklar
Detta har varit en guide till Vad är MapReduce. Här diskuterade vi grundläggande koncept, exempel och fördelar med MapReduce. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Vad är JavaScript?
- MapReduce intervjufrågor
- Vad är Python
- Så fungerar MapReduce
- Vad är Big data och Hadoop