Pular para o conteúdo

Hadoop

O Apache Hadoop é um framework open source que popularizou o processamento de Big Data. Ele permite armazenar e processar enormes volumes de dados distribuídos por um cluster de máquinas comuns, tolerando falhas de hardware.

É o sistema de arquivos distribuído do Hadoop — a camada de armazenamento.

  • Quebra arquivos grandes em blocos e os espalha por várias máquinas.
  • Replica cada bloco (por padrão, 3 cópias) para tolerar falhas: se uma máquina cai, os dados estão em outras.
  • Arquitetura mestre-escravo: o NameNode (mestre) sabe onde está cada bloco; os DataNodes (escravos) guardam os blocos.

É o modelo de processamento original do Hadoop, em duas fases:

  • Map: cada máquina processa sua parte dos dados e gera pares chave-valor.
  • Reduce: os resultados são agrupados pela chave e combinados no resultado final.

Exemplo clássico (contar palavras): o Map conta palavras em cada pedaço; o Reduce soma as contagens de cada palavra.

É o gerenciador de recursos do cluster. Ele distribui CPU e memória entre as tarefas e agenda os trabalhos, coordenando quem processa o quê.

Hadoop é forte para processamento em lote (batch) de volumes gigantescos, onde a leitura e escrita em disco não são o gargalo crítico. Para processamento rápido e iterativo, o Spark costuma ser preferido.