Video: Kenneth Cukier: Big data is better data 2025
For det meste af Hadops historie har MapReduce været det eneste spil i byen, når det kommer til databehandling. Tilgængeligheden af MapReduce har været årsagen til Hadops succes og samtidig en vigtig faktor i begrænsningen af yderligere adoption.
MapReduce gør det muligt for dygtige programmører at skrive distribuerede applikationer uden at skulle bekymre sig om den underliggende distribuerede computerinfrastruktur. Dette er en meget stor aftale: Hadoop og MapReduce-rammen håndterer alle former for kompleksitet, som applikationsudviklere ikke behøver at håndtere.
For eksempel sker evnen til at gennemsøge klyngen gennemsigtigt ved at tilføje knuder og den automatiske fejloverførsel af både datalagring og databehandlingsundersystemer med nul virkning på applikationer.
Den anden side af mønten her er, at selv om MapReduce gemmer en enorm mængde kompleksitet, har du ikke råd til at glemme, hvad det er: en grænseflade til parallel programmering. Dette er en avanceret færdighed - og en barriere for bredere vedtagelse. Der er simpelthen ikke mange MapReduce programmører, og ikke alle har evnen til at mestre det.
I Hadops tidlige dage (Hadoop 1 og før) kunne du kun køre MapReduce-applikationer på dine klynger. I Hadoop 2 ændrede YARN-komponenten alt det ved at overtage ressourcehåndtering og planlægning fra MapReduce-rammen og levere en generisk grænseflade til at lette applikationer til at køre på en Hadoop-klynge.
Kort sagt betyder dette, at MapReduce nu kun er en af mange applikationsrammer, du kan bruge til at udvikle og køre applikationer på Hadoop. Selvom det sikkert er muligt at køre applikationer ved hjælp af andre rammer på Hadoop, betyder det ikke, at vi kan begynde at glemme MapReduce.
MapReduce er i øjeblikket den eneste produktions-klare databehandlingsramme tilgængelig for Hadoop. Selvom andre rammer senere vil blive tilgængelige, har MapReduce næsten et decennium af modenhed under sit bælte (med næsten 4, 000 JIRA-problemer afsluttet, der involverer hundredvis af udviklere, hvis du holder styr på).
Der er ingen tvist: MapReduce er Hadops mest modne ramme for databehandling. Derudover er en betydelig mængde MapReduce-kode nu i brug, som ikke vil gå overalt snart. Lang historie kort: MapReduce er en vigtig del af Hadoop-historien.
Apache Hive og Apache Pig projekter er meget populære, fordi de er lettere adgangspunkter til databehandling på Hadoop. For mange problemer, især de typer, du kan løse med SQL, Hive og Pig er fremragende værktøjer.Men for en bredere opgave som statistisk behandling eller tekstudvinding, og især til behandling af ustrukturerede data, skal du bruge MapReduce.