A importância de MapReduce no Hadoop

Para a maioria da história do Hadoop, MapReduce tem sido o único jogo na cidade quando se trata de processamento de dados. A disponibilidade de MapReduce tem sido a razão para o sucesso do Hadoop e, ao mesmo tempo, um fator importante em limitar ainda mais a adoção.

MapReduce permite que programadores qualificados para escrever aplicações distribuídas sem ter que se preocupar com a infra-estrutura de computação distribuída subjacente. Este é um negócio muito grande: Hadoop eo quadro MapReduce lidar com todos os tipos de complexidade que os desenvolvedores de aplicativos não precisam de manusear.

Por exemplo, a capacidade de escalar de forma transparente para o cluster adicionando nós e o failover automático de ambos os armazenamento de dados e subsistemas de processamento de dados acontecer com zero impacto sobre os pedidos.

O outro lado da moeda aqui é que, embora MapReduce esconde uma quantidade enorme de complexidade, você não pode dar ao luxo de esquecer o que é: uma interface para programação paralela. Esta é uma habilidade avançada - e uma barreira para a adoção mais ampla. Há simplesmente não são ainda muitos programadores MapReduce, e nem todos têm a habilidade para dominá-lo.

Nos primeiros dias do Hadoop (Hadoop 1 e antes), você só pode executar aplicativos MapReduce em seus clusters. Em Hadoop 2, o componente FIO mudou tudo isso, assumindo a gestão de recursos e programação do quadro MapReduce, e fornecendo uma interface genérica para facilitar as aplicações sejam executadas em um cluster Hadoop.

Em suma, isso significa MapReduce agora é apenas uma das muitas estruturas de aplicativos que você pode usar para desenvolver e executar aplicações em Hadoop. Embora seja certamente possível executar aplicações usando outras estruturas no Hadoop, isso não significa que podemos começar a esquecer sobre MapReduce.

MapReduce é atualmente a única estrutura de processamento de dados pronto para produção disponível para Hadoop. Embora outros quadros acabará por se tornar disponível, MapReduce tem quase uma década de maturidade sob o seu cinto (com quase 4.000 questões JIRA concluída, envolvendo centenas de desenvolvedores, se você está mantendo o controle).

Não há nenhuma disputa: MapReduce é o quadro mais maduro do Hadoop para processamento de dados. Além disso, uma quantidade significativa de código MapReduce está agora em uso que é improvável que ir a qualquer lugar em breve. Para encurtar a história: MapReduce é uma parte importante da história Hadoop.

Os projetos Apache Hive e Apache Pig são muito populares porque eles são pontos de entrada mais fácil para o processamento de dados sobre Hadoop. Para muitos problemas, especialmente os tipos que você pode resolver com o SQL, Hive e Pig são excelentes ferramentas. Mas para uma tarefa mais abrangente, como tratamento estatístico ou extração de texto e, especialmente, para o processamento de dados não estruturados, você precisa usar MapReduce.

menu