Video: 1.7 the Mapreduce Paradigm 14:14 2024
MapReduce är ett programmeringsparadigm som utformades för att tillåta parallell distribuerad bearbetning av stora uppsättningar av data, omvandla dem till uppsättningar av tuplar, och sedan kombinera och minska dessa tuplar i mindre uppsättningar av tuplar. I layman siktades MapReduce för att ta stora data och använda parallell distribuerad databehandling för att göra stora data till små eller vanliga data.
Parallell distribuerad bearbetning avser en kraftfull ram där massvolymer av data behandlas mycket snabbt genom att distribuera bearbetningsuppgifter över kluster av råvararservrar. Med avseende på MapReduce, tuples hänvisas till nyckelvärdespar med vilka data grupperas, sorteras och bearbetas.
MapReduce-jobb jobbar via karta och reducerar processoperationssekvenser över en distribuerad uppsättning servrar. I kartuppgiften delegerar du dina data till nyckelvärdespar, omvandlar det och filtrerar det. Då tilldelar du data till noder för bearbetning.
I reducera uppgiften sammanställer du dataen till mindre datamängder. Data från reduktionssteget omvandlas till ett standard nyckelvärdesformat - där -nyckeln fungerar som postidentifierare och värdet är det värde som identifieras av nyckeln. Klyftarnas datortoder hanterar kartan och reducerar uppgifter som definieras av användaren. Detta arbete görs enligt följande två steg:
-
Den inkommande data måste först delegeras till nyckelvärdespar och delas in i fragment, som sedan tilldelas kartuppgifter. Varje beräkningsgrupp - en grupp av noder som är anslutna till varandra och utför en gemensam datoruppgift - tilldelas ett antal kartuppgifter, som därefter fördelas mellan sina noder.
Vid bearbetning av nyckelvärdesparen genereras mellanliggande nyckelvärdespar. De mellanliggande nyckelvärdesparen sorteras efter deras nyckelvärden, och denna lista är uppdelad i en ny uppsättning fragment. Oavsett vad du har för de här nya fragmenten kommer det att vara detsamma som antalet reducerade uppgifter.
-
Varje reducerad uppgift har ett fragment tilldelat det. Reduktionsuppgiften bearbetar enkelt fragmentet och producerar en utgång, som också är en nyckelvärdespar. Minskande uppgifter fördelas också mellan klustrets olika noder. När uppgiften är klar skrivs slutprodukten ut på ett filsystem.
Kort sagt kan du snabbt och effektivt koka ner och börja känna av en stor volym, hastighet och olika data genom att använda kartan och minska uppgifterna för att märka dina data med (nyckel, värde) par och minska sedan de para i mindre uppsättningar data genom
aggregeringsoperationer - operationer som kombinerar flera värden från en dataset till ett enda värde.Ett diagram över MapReduce-arkitekturen finns här. Om dina data inte låter sig vara taggade och bearbetade via nycklar, värden och aggregering, är det inte lämpligt att kartlägga och minska
i allmänhet . Om du använder MapReduce som en del av en Hadoop-lösning skrivs den slutliga utmatningen på
Hadoop Distributed File System (HDFS). HDFS är ett filsystem som innehåller kluster av råvaruservrar som används för att lagra stora data. HDFS gör stor datahantering och lagring ekonomiskt genomförbar genom att distribuera lagringsuppgifter över kluster av billiga råvararservrar.