Diferença entre o Hadoop e o MapReduce

As raízes do Hadoop datam de 2002, quando a Dough Cutting estava trabalhando em um projeto de código aberto chamado Nutch (que era usado para indexar as páginas da web e usar as páginas indexadas para pesquisa, a mesma coisa que o Google faz). Ele estava enfrentando problemas de escalabilidade, tanto em termos de armazenamento quanto de computação. Em 2003, o Google publicou o GFS (sistema de arquivos do google) e, em 2004, Nutch criou o NDFS (sistema de arquivos distribuído do Nutch). Depois que o Google anunciou o MapReduce como seu cérebro computacional por trás dos algoritmos de classificação, Dough conseguiu rodar o Nutch no NDFS e usou o MapReduce no ano de 2005 e no ano de 2006 nasceu o Hadoop.

Hadoop e MapReduce! O Hadoop é um ecossistema de projetos de código aberto, como o Hadoop Common, o sistema de arquivos distribuídos do Hadoop (HDFS), o Hadoop YARN e o Hadoop MapReduce. O Hadoop, como tal, é uma estrutura de código aberto para armazenar e processar grandes conjuntos de dados. O armazenamento é realizado pelo HDFS e o processamento é feito pelo MapReduce. O MapReduce, por outro lado, é um modelo de programação que permite processar enormes dados armazenados no Hadoop. Vamos entender o Hadoop e o MapReduce em detalhes nesta postagem.

Comparação cara a cara entre o Hadoop e o MapReduce (Infográficos)

Abaixo está a comparação top 5 entre o Hadoop e o MapReduce

Principais diferenças entre o Hadoop e o MapReduce

A seguir está a diferença entre o Hadoop e o MapReduce

  • Se queremos diferenciar o Hadoop e o MapReduce em termos de leigos, podemos dizer que, o Hadoop é como o carro em que você tem tudo o que é necessário para percorrer distâncias, mas o MapReduce é como o motor do carro, portanto, sem o carro, um motor pode ' existe, mas o exterior do carro pode mudar (outros DFS (sistemas de arquivos distribuídos)).
  • A idéia básica por trás do Hadoop é que os dados devem ser confiáveis ​​e escalonáveis, confiáveis. No caso de um desastre ou falha na rede, os dados devem estar disponíveis o tempo todo, e isso é alcançado pela estrutura do Hadoop usando nós de nome e nós de dados.
  • Alguma idéia básica de nós de dados e nós de nome

  • A idéia básica por trás da arquitetura do nó de dados e do nó de nome é a arquitetura mestre / escravo, onde um armazena a localização dos dados (nó de nome) e o outro armazena os dados em si (nó de dados). Os dados são divididos em pedaços de 64 MB e salvos nos blocos de dados e o registro deles é mantido no Nó de Nome. Os dados são replicados três vezes por padrão, para confiabilidade. Falando sobre a escalabilidade, o hardware pode ser aumentado em movimento e isso ajuda a aumentar o armazenamento e tornar o sistema escalável.
  • Agora, chegando ao MapReduce, há três fases
    1. Fase do Mapa
    2. Fase aleatória
    3. Reduzir fase

Vamos dar um exemplo para entender melhor. O MapReduce, sendo uma estrutura de programação, também possui um programa hello world, mas é conhecido como programa de contagem de palavras no MapReduce.

O programa Contagem de palavras fornece os pares de valores-chave da palavra e sua frequência em um parágrafo / artigo ou em qualquer fonte de dados. Para entendê-lo facilmente, tomemos o exemplo abaixo como exemplo.

No conjunto de dados, como podemos ver, temos três palavras ônibus, carro e trem. A coluna denominada Entrada possui os dados que temos no conjunto de dados, a coluna Saída possui os dados no estágio intermediário em que o embaralhamento ocorrerá.

Aqui estamos usando o divisor como vírgula (, ) para dividir as palavras. O divisor pode ser vírgula ou espaço ou uma nova linha etc.

EntradaConjunto de dadoscarro, carro, ônibus, trem, ônibus, trem, ônibus, trem, ônibus, buS, carro, ônibus, carro, trem, carro, ônibus, carro
ResultadoConverter em outro conjunto de dados

(Valor chave)

(Ônibus, 1), (Carro, 1), (Ônibus, 1), (Carro, 1), (Trem, 1),

(carro, 1), (ônibus, 1), (carro, 1), (trem, 1), (ônibus, 1),

(TREM, 1), (ÔNIBUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(carro, 1), (ÔNIBUS, 1), (TREM, 1)

E a saída do estágio intermediário acima é fornecida ao redutor e abaixo é a saída final do programa.

Entrada

(saída da função Mapa)

Conjunto de tuplas(Ônibus, 1), (Carro, 1), (Ônibus, 1), (Carro, 1), (Trem, 1),

(carro, 1), (ônibus, 1), (carro, 1), (trem, 1), (ônibus, 1),

(TREM, 1), (ÔNIBUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(carro, 1), (ÔNIBUS, 1), (TREM, 1)

ResultadoConverte em um conjunto menor de tuplas(ÔNIBUS, 7),

(CAR, 7),

(TREM, 4)

  • Uma das principais diferenças do Hadoop com outras estruturas de processamento de big data é que o Hadoop envia o código (código MapReduce) para os clusters em que os dados são armazenados, em vez de enviá-los ao código, como os conjuntos de dados nos TBs ou, às vezes, nos PBs será uma tarefa tediosa de fazer.

Tabela de comparação Hadoop vs MapReduce

Base para ComparaçãoHadoopMapReduce

Significado

O nome "Hadoop" era o nome do elefante de brinquedo do filho de Doug Cutting. Ele nomeou esse projeto como "Hadoop", pois era fácil pronunciá-lo.O nome "MapReduce" passou a existir de acordo com a própria funcionalidade de mapeamento e redução em pares de valores-chave.

Conceito

O Apache Hadoop é um ecossistema que fornece um ambiente confiável, escalável e pronto para computação distribuída.O MapReduce é um submódulo deste projeto, que é um modelo de programação e é usado para processar grandes conjuntos de dados que ficam no HDFS (sistema de arquivos distribuídos Hadoop).

Pré-requisitos

O Hadoop é executado em implementos HDFS (Hadoop Distributed File System)O MapReduce pode ser executado no HDFS / GFS / NDFS ou em qualquer outro sistema de arquivos distribuído, por exemplo, MapR-FS

Língua

O Hadoop é uma coleção de todos os módulos e, portanto, também pode incluir outras linguagens de programação / scriptO MapReduce é basicamente escrito em linguagem de programação Java

Estrutura

O Hadoop não apenas possui uma estrutura de armazenamento que armazena os dados, mas, ao criar nós de nome e de nó de dados, também possui outras estruturas que incluem o próprio MapReduce.MapReduce é uma estrutura de programação que usa mapeamentos de chave e valor para classificar / processar os dados

A figura abaixo ajudará a diferenciar o MapReduce do Hadoop.

Estrutura do MapReduce

  • Como podemos ver na figura acima, o MapReduce é uma estrutura de processamento distribuído, enquanto o Hadoop é uma coleção de todas as estruturas.

Conclusão - Hadoop vs MapReduce

O Hadoop sendo de código aberto ganhou popularidade, pois era de uso gratuito e os programadores podem alterar o código conforme suas necessidades. O sistema ecológico Hadoop foi desenvolvido continuamente nos últimos anos para tornar o sistema ecológico o mais livre de erros possível.

Com as necessidades em constante mudança do mundo, a tecnologia muda rapidamente e torna-se difícil acompanhar as mudanças. Os dados que estão sendo gerados em um mês estão dobrando / triplicando à medida que você lê este artigo, e a necessidade de um processamento mais rápido de conjuntos de dados levou a muitas outras estruturas de programação, como MapReduce 2, Spark etc.

Artigos recomendados

Este foi um guia do Hadoop vs MapReduce, seu significado, comparação cara a cara, diferenças principais, tabela de comparação e conclusão. Você também pode consultar os seguintes artigos para saber mais -

  1. Diferença entre Hadoop e Redshift
  2. Descubra a 6 melhor diferença entre Apache Hadoop e Apache Storm
  3. Comparações entre Hadoop Vs SQL
  4. Conheça o MapReduce vs Spark
  5. Hadoop vs Spark: Funções
  6. Laravel vs Codeigniter: Funções

Categoria: