web-dev-qa-db-fra.com

Que sont les fichiers SUCCESS et part-r-00000 dans hadoop

Bien que j'utilise fréquemment Hadoop sur ma machine Ubuntu, je n'ai jamais pensé à SUCCESS et part-r-00000 des dossiers. La sortie réside toujours dans part-r-00000 fichier, mais à quoi sert le fichier SUCCESS? Pourquoi le fichier de sortie porte-t-il le nom part-r-0000? Y a-t-il une signification/une nomenclature ou s'agit-il simplement d'une définition aléatoire?

38
Ravi Joshi

Voir http://www.cloudera.com/blog/2010/08/what%E2%80%99s-new-in-Apache-hadoop-0-21/

Une fois la tâche terminée avec succès, le runtime MapReduce crée un fichier _SUCCESS dans le répertoire de sortie. Cela peut être utile pour les applications qui ont besoin de voir si un jeu de résultats est complet simplement en inspectant HDFS. (MAPREDUCE-947)

Cela serait généralement utilisé par les systèmes de planification des travaux (tels que OOZIE), pour indiquer que le traitement de suivi sur le contenu de ce répertoire peut commencer car toutes les données ont été sorties.

Mise à jour (en réponse au commentaire)

Les fichiers de sortie sont par défaut nommés part-x-yyyyy où:

  • x est soit "m" soit "r", selon que le travail était un travail de mappage uniquement, ou réduisez
  • yyyyy est le numéro de tâche du mappeur ou du réducteur (basé sur zéro)

Ainsi, un travail comportant 32 réducteurs aura des fichiers nommés part-r-00000 à part-r-00031, un pour chaque tâche de réduction.

69
Chris White