Vídeo: Implementando Projetos de BIG DATA com NoSQL, MongoDB, HADOOP e Map Reduce 2024
Para a maioria do histórico da Hadoop, MapReduce foi o único jogo na cidade quando se trata de processamento de dados. A disponibilidade do MapReduce tem sido o motivo do sucesso do Hadoop e, ao mesmo tempo, um fator importante para limitar a adoção.
MapReduce permite que programadores qualificados escrevam aplicativos distribuídos sem se preocupar com a infra-estrutura de computação distribuída subjacente. Este é um grande negócio: o Hadoop eo framework MapReduce lidar com todos os tipos de complexidade que os desenvolvedores de aplicativos não precisam lidar.
Por exemplo, a capacidade de dimensionar de forma transparente o cluster adicionando nós e o failover automático dos subsistemas de armazenamento de dados e processamento de dados ocorrem com impacto zero em aplicativos.
O outro lado da moeda aqui é que, embora MapReduce esconde uma enorme quantidade de complexidade, você não pode perder o que é: uma interface para programação paralela. Esta é uma habilidade avançada - e uma barreira para uma adoção mais ampla. Simplesmente ainda não existem muitos programadores MapReduce, e nem todos têm a habilidade de dominá-lo.
Nos primeiros dias de Hadoop (Hadoop 1 e antes), você só pode executar aplicativos MapReduce em seus clusters. No Hadoop 2, o componente YARN alterou tudo isso ao assumir o gerenciamento e agendamento de recursos do quadro MapReduce e fornecer uma interface genérica para facilitar a execução de aplicativos em um cluster Hadoop.
Em suma, isso significa que o MapReduce agora é apenas uma das muitas estruturas de aplicativos que você pode usar para desenvolver e executar aplicativos no Hadoop. Embora seja certamente possível executar aplicativos usando outras estruturas no Hadoop, isso não significa que possamos começar a esquecer o MapReduce.
MapReduce atualmente é a única estrutura de processamento de dados pronta para produção disponível para o Hadoop. Embora outras estruturas eventualmente se tornem disponíveis, o MapReduce tem quase uma década de maturidade sob o seu cinto (com quase 4 000 problemas de JIRA concluídos, envolvendo centenas de desenvolvedores, se você estiver acompanhando).
Não há disputa: MapReduce é a estrutura mais madura do Hadoop para processamento de dados. Além disso, uma quantidade significativa de código MapReduce está em uso, e é improvável que vá em breve. Longa história curta: MapReduce é uma parte importante da história de Hadoop.
Os projetos Apache Hive e Apache Pig são altamente populares porque são pontos de entrada mais simples para processamento de dados no Hadoop. Para muitos problemas, especialmente os tipos que você pode resolver com SQL, Hive e Pig são excelentes ferramentas.Mas para uma tarefa mais ampla, como processamento estatístico ou extração de texto, e especialmente para o processamento de dados não estruturados, você precisa usar MapReduce.