HBase
 sql >> Base de Dados >  >> NoSQL >> HBase

Fluxograma de execução de tarefas do Hadoop MapReduce


Neste Hadoop blog, forneceremos a você um fluxo de execução de tarefas MapReduce de ponta a ponta. Aqui descreveremos cada componente que faz parte do MapReduce trabalhar em detalhes.

Este blog ajudará você a responder como o Hadoop MapReduce funciona, como os dados fluem no MapReduce, como o trabalho do Mapreduce é executado no Hadoop?


O que é MapReduce?


Hadoop MapReduce é a camada de processamento de dados. Ele processa a enorme quantidade de dados estruturados e não estruturados armazenados no HDFS. O MapReduce processa os dados em paralelo, dividindo o trabalho no conjunto de tarefas independentes. Assim, o processamento paralelo melhora a velocidade e a confiabilidade.

O processamento de dados do Hadoop MapReduce ocorre em 2 fases - Mapear e Reduzir.
  • Fase do mapa- É a primeira fase do processamento de dados. Nesta fase, especificamos toda a lógica complexa/regras de negócios/código caro.
  • Reduzir fase- É a segunda fase do processamento. Nesta fase, especificamos o processamento leve, como agregação/soma.

Etapas do fluxo de execução do trabalho do MapReduce


MapReduce processa os dados em várias fases com a ajuda de diferentes componentes. Vamos discutir as etapas de execução de tarefas no Hadoop.

1. Arquivos de entrada


Nos arquivos de entrada, os dados do trabalho MapReduce são armazenados. EmHDFS , os arquivos de entrada residem. O formato dos arquivos de entrada é arbitrário. Arquivos de log baseados em linha e formato binário também podem ser usados.

2. Formato de entrada


Depois disso, InputFormat define como dividir e ler esses arquivos de entrada. Ele seleciona os arquivos ou outros objetos para entrada. InputFormat cria InputSplit.

3. Divisões de entrada


Ele representa os dados que serão processados ​​por um Mapeador individual . Para cada divisão, uma tarefa de mapa é criada. Assim, o número de tarefas de mapa é igual ao número de InputSplits. O framework divide dividido em registros, que processam o mapeador.

4. Leitor de registros


Ele se comunica com o inputSplit. E, em seguida, converte os dados em pares de valores-chave adequado para leitura pelo Mapeador. RecordReader por padrão usa TextInputFormat para converter dados em um par chave-valor.

Ele se comunica com o InputSplit até a conclusão da leitura do arquivo. Ele atribui deslocamento de byte para cada linha presente no arquivo. Em seguida, esses pares de valores-chave são enviados ao mapeador para processamento adicional.

5. Mapeador


Ele processa o registro de entrada produzido pelo RecordReader e gera pares de chave-valor intermediários. A saída intermediária é completamente diferente do par de entrada. A saída do mapeador é a coleção completa de pares chave-valor.

A estrutura do Hadoop não armazena a saída do mapeador no HDFS. Ele não armazena, pois os dados são temporários e a gravação no HDFS criará várias cópias desnecessárias. Em seguida, o Mapper passa a saída para o combinador para processamento adicional.

4. Combinador


Combiner é um mini-redutor que realiza agregação local na saída do mapeador. Minimiza a transferência de dados entre mapeador e redutor. Assim, quando a funcionalidade do combinador for concluída, a estrutura passará a saída para o particionador para processamento adicional.

5. Particionador


O particionador passa a existir se estivermos trabalhando com mais de um redutor. Ele pega a saída do combinador e executa o particionamento.

O particionamento da saída ocorre com base na chave em MapReduce. Por função de hash, a chave (ou um subconjunto da chave) deriva a partição.

Com base no valor da chave no MapReduce, ocorre o particionamento de cada saída do combinador. E então o registro com o mesmo valor de chave vai para a mesma partição. Depois disso, cada partição é enviada para um redutor.

O particionamento na execução do MapReduce permite a distribuição uniforme da saída do mapa sobre o redutor.

6. Embaralhando e classificando


Após o particionamento, a saída é embaralhada para o nó de redução. O embaralhamento é o movimento físico dos dados que é feito pela rede. À medida que todos os mapeadores terminam e embaralham a saída nos nós redutores.

Em seguida, o framework mescla essa saída intermediária e classifica. Isso é então fornecido como entrada para reduzir a fase.

7. Redutor


O Reducer então recebe o conjunto de pares de valores-chave intermediários produzidos pelos mapeadores como entrada. Depois disso, executa uma função redutora em cada um deles para gerar a saída.

A saída do redutor é a saída final. Em seguida, a estrutura armazena a saída no HDFS.

8. Gravador


Ele grava esses pares de valores-chave de saída da fase Redutor para os arquivos de saída.

9. Formato de saída


OutputFormat define a maneira como o RecordReader grava esses pares chave-valor de saída nos arquivos de saída. Portanto, suas instâncias fornecidas pelo Hadoop gravam arquivos no HDFS. Assim, as instâncias OutputFormat gravam a saída final do redutor no HDFS.

Conclusão


Aprendemos passo a passo o fluxo de execução do trabalho MapReduce. Espero que este blog te ajude muito a entender o funcionamento do MapReduce.

Se ainda assim, você tiver alguma consulta relacionada ao fluxo de execução do trabalho MapReduce, para que você possa compartilhar conosco na seção de comentários abaixo. Vamos tentar o nosso melhor para resolvê-los.