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

Contadores Hadoop e tipos de contadores no MapReduce


Em nosso Hadoop anterior blog, fornecemos uma descrição detalhada do Hadoop InputFormat e Formato de Saída . Agora vamos abordar os contadores do Hadoop em detalhes. Neste tutorial do Hadoop, discutiremos o que são contadores MapReduce, quais são suas funções.

Por fim, também abordaremos os tipos de contadores no Hadoop MapReduce. Como MapReduce Task Counter, File System Counters, FileInputFormat Counters,  Contadores FileOutputFormat, Job Counters no MapReduce, Dynamic Counters no Hadoop.


Hadoop MapReduce


Antes de começarmos com os contadores do Hadoop, vamos primeiro aprender o que é o Hadoop MapReduce?

MapReduce é a camada de processamento de dados do Hadoop. Ele processa grandes dados estruturados e não estruturados armazenados em HDFS. O MapReduce também processa uma enorme quantidade de dados em paralelo. Ele faz isso dividindo o trabalho (trabalho enviado) em um conjunto de tarefas independentes (subtrabalho). No Hadoop, o MapReduce funciona dividindo o processamento em fases: Map e Reduzir .
  • Fase do mapa- É a primeira fase do processo 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.

O que são contadores Hadoop?


Contadores no Hadoop são um canal útil para coletar estatísticas sobre o trabalho MapReduce. Como para controle de qualidade ou para nível de aplicação. Os contadores também são úteis para o diagnóstico de problemas.

Um Counter representa os contadores globais do Apache Hadoop, definidos pela estrutura MapReduce. Cada contador no MapReduce é nomeado por um “Enum”. Ele também tem um longo para o valor.

Os contadores do Hadoop validam que:
  • Lê e escreve o número correto de bytes.
  • Ele foi iniciado e executou com êxito o número correto de tarefas ou não.
  • Os contadores também validam se a quantidade de CPU e memória consumida é apropriada para nosso trabalho e nós de cluster ou não.

Tipos de contadores no MapReduce


2 tipos de contadores MapReduce são:
  • Contadores integrados
  • Contadores definidos pelo usuário/contadores personalizados

1. Contadores integrados no Hadoop MapReduce


Apache Hadoop mantém alguns contadores embutidos para cada trabalho. Esses contadores relatam várias métricas. Existem contadores para o número de bytes e registros. O que nos permite confirmar que a quantidade esperada de entrada é consumida e a quantidade esperada de saída é produzida.

Os contadores do Hadoop também são divididos em grupos. Existem vários grupos de contadores embutidos. Cada grupo também contém contadores de tarefas ou contadores de trabalhos.

Vários grupos de contadores integrados no Hadoop são os seguintes:
a) Contador de tarefas MapReduce

O contador de tarefas coleta informações específicas sobre tarefas durante seu tempo de execução. Que incluem o número de registros lidos e escritos.

Por exemplo, o contador MAP_INPUT_RECORDS é o Contador de Tarefas. Ele também conta os registros de entrada lidos por cada tarefa de mapa.
b) Contadores do sistema de arquivos

Este contador reúne informações como o número de bytes lidos e gravados pelo sistema de arquivos. O nome e a descrição dos contadores do sistema de arquivos são os seguintes:
  • bytes do FileSystem lidos – O número de bytes lidos pelo sistema de arquivos.
  • bytes do FileSystem gravados – O número de bytes gravados no sistema de arquivos.
c) Contadores FileInputFormat

Esses contadores também coletam informações de vários bytes lidos por tarefas de mapa via FileInputFormat.
d) Contadores FileOutputFormat

Esses contadores também coletam informações de vários bytes gravados por tarefas de mapa (para trabalhos somente de mapa) ou reduzem tarefas por meio de FileOutputFormat.
e) Contadores de tarefas no MapReduce

O contador de vagas mede as estatísticas no nível da vaga. Ele não mede valores que mudam enquanto uma tarefa está em execução.

Por exemplo TOTAL_LAUNCHED_MAPS, conte o número de tarefas de mapa que foram lançadas ao longo de um trabalho. O mestre de aplicativos também mede os contadores de trabalhos.

Portanto, eles não precisam ser enviados pela rede, ao contrário de todos os outros contadores, incluindo os definidos pelo usuário.

2. Contadores definidos pelo usuário ou contadores personalizados no Hadoop MapReduce


Além dos contadores integrados, o Hadoop MapReduce permite que o código do usuário defina um conjunto de contadores. Em seguida, ele os incrementa conforme desejado no mapeador ou redutor . Como em Java para definir contadores que ele usa, ‘enum '.

Um trabalho pode definir um número arbitrário de 'enums'. Cada um com um número arbitrário de campos. O nome do enum é o nome do grupo. Os campos do enum são os nomes dos contadores.
a) Contadores dinâmicos no Hadoop

Os campos do Java enum são definidos em tempo de compilação. Portanto, não podemos criar novos contadores em tempo de execução usando enums. Portanto, usamos contadores dinâmicos para criar novos contadores em tempo de execução. Mas o contador dinâmico não é definido em tempo de compilação.

Conclusão


Portanto, os contadores verificam se ele leu e escreveu o número correto de bytes. Counter também mede o progresso ou o número de operações que ocorrem no trabalho MapReduce.

O Hadoop também mantém contadores internos e contadores definidos pelo usuário para medir o progresso que ocorre no trabalho MapReduce.

Espero que este blog tenha ajudado você, se você tiver alguma dúvida relacionada ao Hadoop Counter, deixe um comentário em uma seção abaixo.