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

27

Eu tenho gostado de ler o ServerFault por um tempo e me deparei com alguns tópicos no Hadoop. Eu tive um pouco de dificuldade em descobrir o que faz de um ponto de vista global.

Então, minha pergunta é bem simples: o que é o Hadoop? O que isso faz ? Para que isso é usado ? Por que isso chuta o traseiro?

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

    
por Antoine Benkemoun 18.06.2009 / 08:34

3 respostas

26

Diretamente da boca do cavalo :

Hadoop is a framework for running applications on large clusters built of commodity hardware. The Hadoop framework transparently provides applications both reliability and data motion. Hadoop implements a computational paradigm named Map/Reduce, where the application is divided into many small fragments of work, each of which may be executed or reexecuted on any node in the cluster. In addition, it provides a distributed file system (HDFS) that stores data on the compute nodes, providing very high aggregate bandwidth across the cluster. Both Map/Reduce and the distributed file system are designed so that node failures are automatically handled by the framework.

Mapear / reduzir é um paradigma de programação popularizado pelo Google onde uma tarefa é dividida em pequenas porções e distribuídas para um grande número de nós para processamento (mapa), e os resultados são então resumidos na resposta final (reduzir). Google e Yahoo usam isso para sua tecnologia de mecanismo de busca, entre outras coisas.

O Hadoop é uma estrutura genérica para implementar esse tipo de esquema de processamento. Quanto ao motivo, é porque ele fornece recursos interessantes, como tolerância a falhas, e permite reunir praticamente qualquer tipo de hardware para fazer o processamento. Ele também é muito bem dimensionado, desde que 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 "mapeamento" distribui a geometria de cada quadro para um nó diferente, os nós o renderizam e os quadros renderizados são recombinados na etapa "reduzir".
  • Calculando a energia em um sistema em um modelo molecular. Cada quadro de uma trajetória do sistema é distribuído para um nó na etapa "mapeamento". Os nós calculam a energia de 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 podem ser recombinados para produzir um resultado final.

    
por 18.06.2009 / 08:43
9

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

link

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

Alguns usos do Hadoop de interesse para os administradores de sistemas geralmente estão relacionados ao processamento de grandes conjuntos de arquivos de log - só posso postar um link, mas eles incluem, o Google deve encontrar estes:

  1. Consulta de registro de e-mail do Rackspace
  2. Análise de log do Apache com porco - consulte o blog do Cloudera
  3. Yahoo! combater spam
por 18.06.2009 / 09:23
1

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

Com a introdução do Hbase no topo do hadoop, o cana também pode ser usado para o OLAP Processing. O Hadoop é um framework com todos os subcomponentes como map reduce, hdfs, hbase, pig.

Se for um deles, o artigo com o básico do hadoop em Por que o Hadoop é introduzido .

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

    
por 19.01.2012 / 03:53