sql >> Base de Datos >  >> NoSQL >> HBase

Contadores de Hadoop y tipos de contadores en MapReduce

En nuestro Hadoop anterior blog le proporcionamos una descripción detallada de Hadoop InputFormat y Formato de salida . Ahora vamos a cubrir los contadores de Hadoop en detalle. En este tutorial de Hadoop, discutiremos qué son los contadores de MapReduce y cuáles son sus funciones.

Por último, también cubriremos los tipos de contadores en Hadoop MapReduce. Como contador de tareas de MapReduce, contadores de sistemas de archivos, contadores de formato de entrada de archivos,  Contadores de FileOutputFormat, contadores de trabajos en MapReduce, contadores dinámicos en Hadoop.

Hadoop MapReducir

Antes de comenzar con Hadoop Counters, primero aprendamos qué es Hadoop MapReduce.

MapaReducir es la capa de procesamiento de datos de Hadoop. Procesa grandes datos estructurados y no estructurados almacenados en HDFS. MapReduce también procesa una gran cantidad de datos en paralelo. Para ello, divide el trabajo (trabajo enviado) en un conjunto de tareas independientes (subtrabajo). En Hadoop, MapReduce funciona dividiendo el procesamiento en fases: Map y Reducir .

  • Fase del mapa- Es la primera fase del proceso de datos. En esta fase, especificamos toda la lógica compleja/reglas de negocio/código costoso.
  • Reducir Fase- Es la segunda fase del procesamiento. En esta fase, especificamos un procesamiento ligero como agregación/suma.

¿Qué son los contadores de Hadoop?

Contadores en Hadoop son un canal útil para recopilar estadísticas sobre el trabajo de MapReduce. Como para el control de calidad o para el nivel de aplicación. Los contadores también son útiles para el diagnóstico de problemas.

Un contador representa los contadores globales de Apache Hadoop, definidos por el marco MapReduce. Cada contador en MapReduce se nombra con un "Enum". También tiene un largo para el valor.

Los contadores de Hadoop validan que:

  • Lee y escribe el número correcto de bytes.
  • Se ha iniciado y ejecutado con éxito el número correcto de tareas o no.
  • Los contadores también validan si la cantidad de CPU y memoria consumida es apropiada o no para nuestro trabajo y los nodos del clúster.

Tipos de Contadores en MapReduce

2 tipos de contadores MapReduce son:

  • Contadores incorporados
  • Contadores definidos por el usuario/Contadores personalizados

1. Contadores integrados en Hadoop MapReduce

Apache Hadoop mantiene algunos contadores incorporados para cada trabajo. Estos contadores informan varias métricas. Hay contadores para el número de bytes y registros. Lo que nos permite confirmar que se consume la cantidad esperada de insumos y se produce la cantidad esperada de productos.

Los contadores de Hadoop también se dividen en grupos. Hay varios grupos de contadores empotrados. Cada grupo también contiene contadores de tareas o contadores de trabajos.

Varios grupos de contadores integrados en Hadoop son los siguientes:

a) Contador de tareas MapReduce

El contador de tareas recopila información específica sobre las tareas durante su tiempo de ejecución. Que incluyen el número de registros leídos y escritos.

Por ejemplo, el contador MAP_INPUT_RECORDS es el contador de tareas. También cuenta los registros de entrada leídos por cada tarea del mapa.

b) Contadores del sistema de archivos

Este contador recopila información como una cantidad de bytes leídos y escritos por el sistema de archivos. El nombre y la descripción de los contadores del sistema de archivos son los siguientes:

  • Bytes del sistema de archivos leídos – El número de bytes leídos por el sistema de archivos.
  • Bytes del sistema de archivos escritos – El número de bytes escritos en el sistema de archivos.
c) Contadores de formato de entrada de archivo

Estos contadores también recopilan información de una cantidad de bytes leídos por tareas de mapa a través de FileInputFormat.

d) Contadores de formato de salida de archivo

Estos contadores también recopilan información de una cantidad de bytes escritos por tareas de mapa (para trabajos solo de mapa) o tareas reducidas a través de FileOutputFormat.

e) Contadores de trabajos en MapReduce

El contador de trabajos mide las estadísticas a nivel de trabajo. No mide valores que cambian mientras se ejecuta una tarea.

Por ejemplo, TOTAL_LAUNCCHED_MAPS, cuente la cantidad de tareas de mapas que se iniciaron durante el transcurso de un trabajo. El maestro de aplicaciones también mide los contadores de trabajos.

Por lo tanto, no es necesario enviarlos a través de la red, a diferencia de todos los demás contadores, incluidos los definidos por el usuario.

2. Contadores definidos por el usuario o contadores personalizados en Hadoop MapReduce

Además de los contadores integrados, Hadoop MapReduce permite que el código de usuario defina un conjunto de contadores. Luego los incrementa como desee en el mapeadorreductor . Como en Java para definir los contadores que usa, 'enum ' .

Un trabajo puede definir un número arbitrario de 'enumeraciones'. Cada uno con un número arbitrario de campos. El nombre de la enumeración es el nombre del grupo. Los campos de la enumeración son los nombres de los contadores.

a) Contadores dinámicos en Hadoop

Los campos de enumeración de Java se definen en tiempo de compilación. Por lo tanto, no podemos crear nuevos contadores en tiempo de ejecución usando enumeraciones. Entonces, usamos contadores dinámicos para crear nuevos contadores en tiempo de ejecución. Pero el contador dinámico no está definido en tiempo de compilación.

Conclusión

Por lo tanto, los contadores verifican si ha leído y escrito el número correcto de bytes. Counter también mide el progreso o la cantidad de operaciones que ocurren dentro del trabajo de MapReduce.

Hadoop también mantiene contadores integrados y contadores definidos por el usuario para medir el progreso que ocurre dentro del trabajo de MapReduce.

Espero que este blog le haya ayudado. Si tiene alguna consulta relacionada con Hadoop Counter, deje un comentario en una sección a continuación.