Olá Pessoal,
A ideia desses posts é de aproveitar o meu estudo ainda beeeem inicial sobre o assunto e poder compartilhar com todos. Hoje vou abordar de maneira bem resumida os Mecanismos e Estrutura do Hadoop. Toda e qualquer sugestão é bem vinda.
O processo se inicia com o(s) arquivo(s) de entrada (txt e etc...). Esse(s) aquivo(s) fica(m) dentro do HDFS. De modo que são dividos em blocos e processados nas máquinas
O MapReduce divide as 'N' partições em pedaços de 64 MB. Esse tamanho pode ser configurado pelo usuário (block size).
Cluster
- Master
- controla as Slaves
- distribuindo tarefas
- verificando falhas das Slaves
- escolher workers(slaves) inativos para realizarem processos
- Slave (Worker)
- A primeira função utilizada é a Map (Feita pelo programador). O programa fica geralmente no arquivo .jar(caso seja programado em java)
- Todo resultado da função Map é armazenado em buffer. O tamanho do buffer também é configurável, assim como as partições citadas acima.
- Quando o buffer está cheio, os dados são escritos/armazenados em disco
- O resultado da função Map é enviada ao Master
- Os dados são ordenados e agrupados
- O Reduce começa a interação sobre os dados
- Quando tanto a função de map quanto a de reduce terminam, elas notificam o nó master dizendo que o trabalho foi finalizado
- Com isso o master coloca o resultado final em arquivo. Também ficando no(s) arquivo(s) de saída no HDFS
* Lembrando que a paralelização é de responsabilidade do Framework. O programador deve criar as funções Map e Reduce
- O arquivo de programação no hadoop fica no master e é copiado para os Slaves.
Espero que tenham gostado. Em um próximo post vou abordar os arquivos de configuração e tentar entrar um pouco mais no assunto.
Muito obrigado
Nenhum comentário:
Postar um comentário