0

Hadoop, com foco no MapReduce.

L
Lucas Borelli

CONTEXTUALIZAÇÃO - Os Desafios do Big Data.

O armazenamento e processamento de dados sempre foi um desafio. Claro que em cada período, mudava-se o foco destas questões, mas tais temas sempre estiveram no dia-a-dia das empresas e da indústria de TI.


Portanto, para sanar esse gap, empresas como Google, Yahoo, Cloudera... começaram a investir e pesquisar soluções que atendessem essas questões. E, nesse contexto surgiu o Hadoop.


Hadoop - Framework open-source para computação distribuída – a ideia básica é utilizar clusters de computadores para processar grandes conjuntos de dados.


Podemos destacar dois pontos na arquitetura Hadoop:

MapReduce e HDFS.


O HDFS – Hadoop Distributed File System, é o sistema de armazenamento do Hadoop e solucionará o problema de armazanamento de grandes volumes de dados.


O MapReduce solucionará o problema de processamento massivo de dados, tornando-o mais rápido.


MAPREDUCE

Modelo de programação que permite organizar e processar grandes volumes de dados.

Ideia básica:

Dividir grande volume de dados em partes menores que serão processadas por vários nós (de forma distribuída).

Veja a imagem abaixo:



Podemos observar que a entrada é quebrada em partes menores (cada parte está alocada em um único nó). Após isso, ocorre o mapeamento das partes, ou seja, identifica-se cada palavra e quantas vezes cada uma aparece por nó. Depois, ocorre uma organização das palavras (em ordem alfabética, na imagem) e o embaralhamento (shuffling) deixando as palavras semelhantes em um mesmo nó.

E, já na reta final, ocorre o Reduce. Soma-se a quantidade de palavras por nó, armazenando apenas a quantidade de cada palavra por nó, reduzindo, portanto o volume de dados (de palavras no caso).

Como resultado final, teremos a saída do Reduce. Todo o processamento dos nós serão unificados no HDFS.


Portanto:

Na etapa de Mapping → As partes menores dos dados serão passadas para uma função que irá mapear os dados. No exemplo acima, cada palavra foi identificada (mapeada) e contada.

Na etapa de Reduce → Ocorre a redução da saída do Shuffling em uma única saída. No exemplo acima, armazenou a ocorrência de cada palavra.


Indo um pouco mais além, a execução do Map e Reduce ocorre devido ao:

JobTracker → Processo mestre, e ao Task Trackers → Processo escravo.

Cada cluster pode ter um único JobTracker e vários TaskTrackers


A função do JobTracker é a de coordenar todas as tarefas excecutadas no sistema, ou seja, cabe a ele o gerenciamento de todos os recursos. O JobTracker cria e executa o Job no NameNode e aloca o job para o TaskTracker.

E, cabe ao(s) TasKTracker(s) a execução das tarefas e o envio de relatórios de progresso ao JobTracker.

Portanto, a estrutura do HDFS e a do Map Reduce fica da seguinte forma:



Caso queira ver o artigo sobre HDFS(Hadoop, com foco no MapReduce.)

https://web.digitalinnovation.one/articles/hadoop-com-foco-no-hdfs?back=%2Farticles&page=1&order=oldest



Links usados para a construção do artigo:

https://www.ijert.org/research/daemons-of-hadoop-an-overview-IJERTV7IS040416.pdf


https://www.guru99.com/introduction-to-mapreduce.html


https://hadoop.apache.org/docs/r1.2.1/mapred_tutorial.html



0
0

Comentários (0)

Entusiasta pelo universo dos dados!

Brasil