Diferença entre MapReduce e Spark

O Map Reduce é uma estrutura de código aberto para gravar dados no HDFS e processar dados estruturados e não estruturados presentes no HDFS. O Map Reduce está limitado ao processamento em lote e, em outro Spark, é capaz de executar qualquer tipo de processamento. O SPARK é um mecanismo de processamento independente para processamento em tempo real que pode ser instalado em qualquer sistema de arquivos distribuídos como o Hadoop. O SPARK fornece um desempenho 10 vezes mais rápido que o Map Reduce no disco e 100 vezes mais rápido que o Map Reduce em uma rede na memória.

Necessidade de SPARK

  • Análise iterativa: a redução de mapa não é tão eficiente quanto uma SPARK para resolver problemas que exigem análise iterativa, pois é necessário ir ao disco para cada iteração.
  • Análise interativa: a redução de mapa é frequentemente usada para executar consultas ad-hoc para as quais ele precisa acessar a memória em disco, que novamente não é tão eficiente quanto o SPARK, porque o último se refere à memória mais rápida.
  • Não é adequado para OLTP: como funciona na estrutura orientada a lotes, não é adequado para um grande número de transações curtas.
  • Não é adequado para o gráfico: a biblioteca do Apache Graph processa o gráfico que adiciona mais complexidade ao Map Reduce.
  • Não é adequado para operações triviais: para operações como um filtro e junções, talvez seja necessário reescrever os trabalhos, o que se torna mais complexo devido ao padrão de valor-chave.

Comparação cara a cara entre MapReduce vs Spark (Infographics)

Abaixo está a diferença dos 15 principais entre o MapReduce e o Spark

Principais diferenças entre o MapReduce e o Spark

Abaixo estão as listas de pontos, descrevem as principais diferenças entre o MapReduce e o Spark:

  • O Spark é adequado para tempo real enquanto processa usando a memória, enquanto o MapReduce é limitado ao processamento em lote.
  • O Spark tem RDD (Conjunto de dados distribuídos resilientes), oferecendo-nos operadores de alto nível, mas, na redução de mapa, precisamos codificar cada operação, tornando-a comparativamente difícil.
  • O Spark pode processar gráficos e suporta a ferramenta de aprendizado de máquina.
  • Abaixo está a diferença entre o ecossistema MapReduce e Spark.

Exemplo, onde MapReduce vs Spark são adequados, são os seguintes

Spark: detecção de fraude no cartão de crédito

MapReduce: elaboração de relatórios regulares que requerem tomada de decisão.

Tabela de comparação MapReduce vs Spark

Base de comparaçãoMapReduceFaísca
EstruturaUma estrutura de código aberto para gravar dados no HDFS e processar dados estruturados e não estruturados presentes no HDFS.Uma estrutura de código aberto para processamento de dados mais rápido e de uso geral
RapidezMap-Reduce processa os dados (leituras e gravação) do disco para que a infiltração seja lenta em comparação com o Spark.

O Spark é pelo menos 10 vezes mais rápido no disco e 100X mais rápido na memória do que o Map Reduce.
DificuldadePrecisamos codificar / manipular cada processo.Com a disponibilidade do RDD (Conjunto de dados distribuídos resilientes), é fácil programar.
Tempo realNão é adequado para transações OLTP apenas no modo LoteEle pode lidar com o processamento em tempo real. Usando o SPARK Streaming.
LatênciaEstrutura de computação de latência de alto nívelEstrutura de computação de latência de baixo nível.
Tolerância ao erroOs daemons mestres verificam o batimento cardíaco dos daemons escravos e, caso os daemons escravos falhem, os daemons mestre reprogramam toda a operação pendente e em andamento para outro escravo.Os RDDs fornecem tolerância a falhas para SPARK. Eles se referem ao conjunto de dados presente no armazenamento externo, como (HDFS, HBase) e operam em paralelo.
AgendadorNo Map Reduce, usamos um agendador externo como Oozie.À medida que o SPARK trabalha com a computação na memória, ele atua como seu próprio agendador.
CustoReduzir mapa é comparativamente mais barato quando comparado ao SPARK.Como ele funciona na memória, requer muita RAM, o que o torna relativamente mais caro.
Plataforma desenvolvida emO Map Reduce foi desenvolvido usando Java.O SPARK foi desenvolvido usando o Scala.
Idioma SuportadoO Map Reduce suporta basicamente C, C ++, Ruby, Groovy, Perl, Python.O Spark suporta Scala, Java, Python, R, SQL.
Suporte SQLO Map Reduce executa consultas usando o Hive Query Language.O Spark possui sua própria linguagem de consulta, conhecida como Spark SQL.
EscalabilidadeNo Map Reduce, podemos adicionar até n número de nós. O maior Hadoop Cluster possui 14000 nós.No Spark também podemos adicionar n número de nós. O maior cluster Spark possui 8000 nós.
Machine LearningO Map Reduce suporta a ferramenta Apache Mahout para aprendizado de máquina.O Spark suporta a ferramenta MLlib para aprendizado de máquina.
Armazenamento em cacheA redução de mapa não pode armazenar em cache os dados da memória, portanto, não é tão rápido em comparação com o Spark.O Spark armazena em cache os dados na memória para iterações adicionais, portanto é muito rápido em comparação com o Map Reduce.
SegurançaO Map Reduce suporta mais projetos e recursos de segurança em comparação com o SparkA segurança do Spark ainda não está madura como a do Map Reduce

Conclusão - MapReduce vs Spark

De acordo com a diferença acima entre o MapReduce e o Spark, é bastante claro que o SPARK é um mecanismo de computação muito mais avançado em comparação com o Map Reduce. O Spark é compatível com qualquer tipo de formato de arquivo e também muito mais rápido que o Map Reduce. Além disso, a centelha também possui recursos de processamento de gráficos e aprendizado de máquina.

Por um lado, o Map Reduce é limitado ao processamento em lote e, por outro, o Spark é capaz de executar qualquer tipo de processamento (lote, interativo, iterativo, streaming, gráfico). Devido à grande compatibilidade, o Spark é o favorito do Data Scientist e, portanto, substitui o Map Reduce e cresce rapidamente. Mas ainda precisamos armazenar os dados no HDFS e, às vezes, também precisamos do HBase. Portanto, precisamos executar o Spark e o Hadoop para obter o melhor.

Artigos recomendados:

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

  1. 7 coisas importantes sobre o Apache Spark (Guia)
  2. Hadoop vs Apache Spark - coisas interessantes que você precisa saber
  3. Apache Hadoop vs Apache Spark | As 10 melhores comparações que você deve saber!
  4. Como o MapReduce funciona?
  5. Confluência da tecnologia e análise de negócios

Categoria: