Diretamente da boca do cavalo :
O Hadoop é uma estrutura para a execução de aplicativos em grandes clusters criados com hardware comum. A estrutura do Hadoop fornece de maneira transparente aos aplicativos confiabilidade e movimentação de dados. O Hadoop implementa um paradigma computacional chamado Map / Reduce, em que o aplicativo é dividido em muitos pequenos fragmentos de trabalho, cada um dos quais pode ser executado ou reexecutado em qualquer nó do cluster. Além disso, ele fornece um sistema de arquivos distribuídos (HDFS) que armazena dados nos nós de computação, fornecendo uma largura de banda agregada muito alta em todo o cluster. Mapear / Reduzir e o sistema de arquivos distribuído são projetados para que as falhas do nó sejam tratadas automaticamente pela estrutura.
Map / Reduce é um paradigma de programação popularizado pelo Google, em que uma tarefa é dividida em pequenas porções e distribuída para um grande número de nós para processamento (mapa), e os resultados são resumidos na resposta final (reduza ) Google e Yahoo usam isso para sua tecnologia de mecanismo de pesquisa, entre outras coisas.
O Hadoop é uma estrutura genérica para implementar esse tipo de esquema de processamento. Quanto ao porquê disso, principalmente porque fornece recursos interessantes, como tolerância a falhas e permite reunir praticamente qualquer tipo de hardware para fazer o processamento. Ele também escala extremamente bem, desde que o seu problema se encaixe no paradigma.
Você pode ler tudo sobre isso no site .
Quanto a alguns exemplos, Paul deu alguns, mas aqui estão mais alguns que você pode fazer que não são tão centrados na Web:
- Renderizando um filme em 3D. A etapa "map" distribui a geometria de cada quadro para um nó diferente, os nós a processam e os quadros renderizados são recombinados na etapa "reduzir".
- Computando a energia em um sistema em um modelo molecular. Cada quadro de uma trajetória do sistema é distribuído para um nó na etapa "mapa". Os nós calculam a energia para cada quadro
e , em seguida, os resultados são resumidos na etapa "reduzir".
Essencialmente, o modelo funciona muito bem para um problema que pode ser decomposto em cálculos discretos semelhantes que são completamente independentes e pode ser recombinado para produzir um resultado final.