O que é o Hadoop e para que é utilizado? [fechadas]

28

Eu gosto de ler o ServerFault há um tempo e me deparei com alguns tópicos no Hadoop. Eu tive alguns problemas para descobrir o que ele faz do ponto de vista global.

Portanto, minha pergunta é bem simples: o que é o Hadoop? O que isso faz ? Para que isso é usado ? Por que chuta a bunda?

Edit: Se alguém tiver demonstrações / explicações de casos de uso nos quais o Hadoop foi usado, isso seria fantástico.

Antoine Benkemoun
fonte
O Facebook faz uso pesado do Hadoop (na verdade, o Hive, que é uma camada em cima do Hadoop). Há uma boa descrição disso na página de engenharia do Facebook. facebook.com/note.php?note_id=89508453919
John Meagher
O Hadoop é uma estrutura que simplifica o processamento de grande quantidade de dados ( Big data ), distribuindo os agrupamentos de dados entre os nós / servidores e tornando o processo paralelo. Esse processo / algoritmo é conhecido como MapReduce.
21814 Mr_Green #

Respostas:

26

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.

Kamil Kisiel
fonte
Obrigado pela sua resposta. Então, basicamente, são necessários aplicativos (PHP? Java?) E os decompõe e despacha o trabalho entre vários nós. Quanto ao HDFS, é como o OCFS, exceto com um monte de nós?
Antoine Benkemoun 18/06/09
Interessado nisso também. Eu gostaria de ver alguns exemplos de palavras reais mais específicos.
Karolis T.
Isso era o que eu estava procurando também :-)
Antoine Benkemoun
10

Os Cloudera têm ótimos vídeos que explicam os princípios por trás do Map Reduce e Hadoop.

http://www.cloudera.com/hadoop-training-basic

Uma das idéias principais por trás do MapReduce é que, para grandes conjuntos de dados, você será vinculado a seus discos, portanto, no Hadoop HDFS, você pode dividir as coisas entre vários nós, permitindo o processamento paralelo.

Alguns usos do Hadoop de interesse dos administradores de sistemas geralmente envolvem o processamento de grandes conjuntos de arquivos de log - só posso postar um link, mas incluem: o Google deve encontrar o seguinte:

  1. Consulta de log de correio de espaço em rack
  2. Análise de log do Apache com porco - veja o blog Cloudera
  3. Yahoo! combater spam

fonte
Parece bom eu vou ter um olhar :-)
Antoine Benkemoun
1

Inicialmente, o hadoop é desenvolvido para grande quantidade de conjuntos de dados no ambiente OLAP.

Com a introdução do Hbase no topo do hadoop, a cana também pode ser usada para o processamento OLAP. O Hadoop é uma estrutura com todos os subcomponentes, como mapa reduzido, hdfs, hbase, pig.

Em primeiro lugar, o artigo com o básico do hadoop em Por que o Hadoop é apresentado .

No Hadoop, armazenamento de dados na forma de arquivos, não nas tabelas, colunas.

Deepak
fonte