Pular para o conteúdo

Spark

O Apache Spark é um motor de processamento distribuído para Big Data, conhecido por ser muito mais rápido que o MapReduce do Hadoop. Seu segredo é processar dados em memória (RAM) sempre que possível, em vez de ler e gravar em disco a cada etapa.

O MapReduce grava resultados intermediários em disco entre cada etapa. O Spark mantém os dados em memória e só recorre ao disco quando necessário. Em tarefas iterativas (como treinar modelos de Machine Learning), isso o torna muito mais veloz.

  • RDD (Resilient Distributed Dataset): a estrutura original — uma coleção distribuída e tolerante a falhas. É a base de tudo.
  • DataFrame: dados organizados em colunas nomeadas (como uma tabela). Mais fácil de usar e otimizado.
  • Dataset: combina as vantagens das duas, com verificação de tipos.

Spark é uma plataforma com vários módulos integrados:

ComponentePara quê
Spark SQLConsultas em dados usando SQL
Spark StreamingProcessamento de dados em tempo real
MLlibBiblioteca de Machine Learning
GraphXProcessamento de grafos

Não são rivais diretos — muitas vezes se complementam.

Hadoop (MapReduce)Spark
ProcessamentoEm discoEm memória (mais rápido)
VelocidadeMenorMuito maior em tarefas iterativas
Tempo realNão (só batch)Sim (Spark Streaming)
ArmazenamentoTem o seu (HDFS)Não tem; usa HDFS, S3, etc.