HBase
 sql >> Base de données >  >> NoSQL >> HBase

Compteurs Hadoop et types de compteurs dans MapReduce

Dans notre précédentHadoop blog, nous vous avons fourni une description détaillée de Hadoop InputFormat et OutputFormat . Nous allons maintenant couvrir en détail les compteurs Hadoop. Dans ce didacticiel Hadoop, nous discuterons de ce qu'est MapReduce Counters, quels sont leurs rôles.

Enfin, nous couvrirons également les types de compteurs dans Hadoop MapReduce. Tels que MapReduce Task Counter, File System Counters, FileInputFormat Counters,  Compteurs FileOutputFormat, compteurs de travaux dans MapReduce, compteurs dynamiques dans Hadoop.

Hadoop MapReduce

Avant de commencer avec Hadoop Counters, apprenons d'abord ce qu'est Hadoop MapReduce ?

MapReduce est la couche de traitement des données de Hadoop. Il traite de grandes quantités de données structurées et non structurées stockées dans HDFS. MapReduce traite également une énorme quantité de données en parallèle. Pour ce faire, il divise le travail (travail soumis) en un ensemble de tâches indépendantes (sous-travail). Dans Hadoop, MapReduce fonctionne en divisant le traitement en phases :Mapper etRéduire .

  • Phase de la carte- C'est la première phase du traitement des données. Dans cette phase, nous spécifions toute la logique complexe/règles métier/code coûteux.
  • Réduire la phase- C'est la deuxième phase du traitement. Dans cette phase, nous spécifions un traitement léger comme l'agrégation/la sommation.

Qu'est-ce que les compteurs Hadoop ?

Compteurs dans Hadoop sont un canal utile pour collecter des statistiques sur le travail MapReduce. Comme pour le contrôle qualité ou pour le niveau application. Les compteurs sont également utiles pour le diagnostic des problèmes.

Un compteur représente les compteurs globaux Apache Hadoop, définis soit par le framework MapReduce. Chaque compteur dans MapReduce est nommé par un "Enum". Il a également un long pour la valeur.

Les compteurs Hadoop valident cela :

  • Il lit et écrit le nombre correct d'octets.
  • Il a lancé et exécuté avec succès le nombre correct de tâches ou non.
  • Les compteurs valident également que la quantité de CPU et de mémoire consommée est appropriée ou non pour notre tâche et nos nœuds de cluster.

Types de compteurs dans MapReduce

2 types de compteurs MapReduce sont :

  • Compteurs intégrés
  • Compteurs définis par l'utilisateur/compteurs personnalisés

1. Compteurs intégrés dans Hadoop MapReduce

Apache Hadoop maintient des compteurs intégrés pour chaque tâche. Ces compteurs rapportent diverses métriques. Il existe des compteurs pour le nombre d'octets et d'enregistrements. Ce qui nous permet de confirmer que la quantité attendue d'intrant est consommée et que la quantité attendue de sortie est produite.

Les compteurs Hadoop sont également divisés en groupes. Il existe plusieurs groupes de compteurs intégrés. Chaque groupe contient également soit des compteurs de tâches, soit un compteur de travaux.

Plusieurs groupes de compteurs intégrés dans Hadoop sont les suivants :

a) Compteur de tâches MapReduce

Le compteur de tâches collecte des informations spécifiques sur les tâches pendant son temps d'exécution. Qui incluent le nombre d'enregistrements lus et écrits.

Par exemple, le compteur MAP_INPUT_RECORDS est le compteur de tâches. Il compte également les enregistrements d'entrée lus par chaque tâche cartographique.

b) Compteurs du système de fichiers

Ce compteur rassemble des informations comme le nombre d'octets lus et écrits par le système de fichiers. Le nom et la description des compteurs du système de fichiers sont les suivants :

  • Octets FileSystem lus – Le nombre d'octets lus par le système de fichiers.
  • Octets FileSystem écrits – Le nombre d'octets écrits dans le système de fichiers.
c) Compteurs FileInputFormat

Ces compteurs collectent également des informations sur le nombre d'octets lus par les tâches de carte via FileInputFormat.

d) Compteurs FileOutputFormat

Ces compteurs collectent également des informations sur le nombre d'octets écrits par les tâches de mappage (pour les travaux de mappage uniquement) ou réduisent les tâches via FileOutputFormat.

e) Compteurs de travaux dans MapReduce

Le compteur d'emplois mesure les statistiques au niveau de l'emploi. Il ne mesure pas les valeurs qui changent pendant l'exécution d'une tâche.

Par exemple TOTAL_LAUNCHED_MAPS, comptez le nombre de tâches cartographiques qui ont été lancées au cours d'une tâche. Le maître d'application mesure également les compteurs de travaux.

Ils n'ont donc pas besoin d'être envoyés sur le réseau, contrairement à tous les autres compteurs, y compris ceux définis par l'utilisateur.

2. Compteurs définis par l'utilisateur ou compteurs personnalisés dans Hadoop MapReduce

En plus des compteurs intégrés, Hadoop MapReduce permet au code utilisateur de définir un ensemble de compteurs. Ensuite, il les incrémente comme souhaité dans le mapper ou réducteur . Comme en Java pour définir les compteurs qu'il utilise, 'enum ' .

Un travail peut définir un nombre arbitraire d'"énumérations". Chacun avec un nombre arbitraire de champs. Le nom de l'énumération est le nom du groupe. Les champs de l'énumération sont les noms des compteurs.

a) Compteurs dynamiques dans Hadoop

Les champs de Java enum sont définis au moment de la compilation. Nous ne pouvons donc pas créer de nouveaux compteurs au moment de l'exécution à l'aide d'énumérations. Nous utilisons donc des compteurs dynamiques pour créer de nouveaux compteurs au moment de l'exécution. Mais le compteur dynamique n'est pas défini au moment de la compilation.

Conclusion

Par conséquent, les compteurs vérifient s'il a lu et écrit le nombre correct d'octets. Le compteur mesure également la progression ou le nombre d'opérations qui se produisent dans le travail MapReduce.

Hadoop gère également des compteurs intégrés et des compteurs définis par l'utilisateur pour mesurer la progression qui se produit dans la tâche MapReduce.

J'espère que ce blog vous a aidé. Si vous avez des questions concernant Hadoop Counter, laissez un commentaire dans une section ci-dessous.