Video: What Happens to Your Body While You Are Having Sex? 2024
MapReduce har för det mesta av Hadops historia varit det enda spelet i staden när det gäller databehandling. Tillgången till MapReduce har varit orsaken till Hadops framgång och samtidigt en viktig faktor för att begränsa ytterligare antagande.
MapReduce gör det möjligt för skickliga programmerare att skriva distribuerade applikationer utan att behöva oroa sig för den underliggande distribuerade databehandlingsinfrastrukturen. Det här är en mycket stor sak: Hadoop och MapReduce-ramen hanterar all slags komplexitet som applikationsutvecklare inte behöver hantera.
Till exempel kan möjligheten att transparent skala ut klustret genom att lägga till noder och den automatiska övergången för både datalagring och databehandlingssubsystem sker med noll påverkan på applikationer.
Den andra sidan av myntet här är att även om MapReduce döljer en enorm mängd komplexitet, har du inte råd att glömma vad det är: ett gränssnitt för parallell programmering. Detta är en avancerad färdighet - och ett hinder för bredare adoption. Det finns helt enkelt inte många MapReduce-programmerare, och inte alla har kunskapen att behärska den.
I Hadops tidiga dagar (Hadoop 1 och tidigare) kunde du bara köra MapReduce-applikationer i dina kluster. I Hadoop 2 ändrades YARN-komponenten allt genom att ta över resurshantering och schemaläggning från MapReduce-ramen och tillhandahålla ett generellt gränssnitt för att underlätta applikationer att köras på ett Hadoop-kluster.
Kort sagt betyder det att MapReduce nu bara är en av många applikationsramar som du kan använda för att utveckla och köra applikationer på Hadoop. Även om det är säkert möjligt att köra applikationer med andra ramar på Hadoop, betyder det inte att vi kan börja glömma MapReduce.
MapReduce är för närvarande den enda produktionsberedda databehandlingsramen tillgänglig för Hadoop. Även om andra ramar så småningom kommer att bli tillgängliga, har MapReduce nästan ett decennium av modenhet under sitt bälte (med nästan 4, 000 JIRA-frågor slutförda, med hundratals utvecklare, om du håller på att spåra).
Det finns ingen tvist: MapReduce är Hadops mest mogna ramverk för databehandling. Dessutom är en betydande mängd MapReduce-kod nu i bruk som inte kommer att gå någonstans snart. Lång historia kort: MapReduce är en viktig del av Hadoop-historien.
Apache Hive och Apache Pig-projekten är mycket populära eftersom de är enklare tillträdespunkter för databehandling på Hadoop. För många problem, särskilt de typer som du kan lösa med SQL, Hive och Pig är utmärkta verktyg.Men för en bredare uppgift som statistisk bearbetning eller textutvinning, och särskilt för behandling av ostrukturerad data, måste du använda MapReduce.