Utilisation d'un job Best of Breed MapReduce

  1. Créez une instance de AdvanceMatchFactory à l'aide de sa méthode statique getInstance().
  2. Fournissez les détails d'entrée et de sortie du job Best of Breed en créant une instance de BestofBreedDetail définissant ProcessType. L’instance doit utiliser le type MRProcessType.
    1. Spécifiez la colonne à l'aide de laquelle les enregistrements doivent être regroupés en créant une instance de GroupbyOption.
      Utilisez une instance de GroupbyMROption pour spécifier la colonne Group-By et le nombre de réducteurs requis.
    2. Générez les règles de consolidation et de modélisation du job en créant une instance de BestOfBreedConfiguration. Dans cette instance :
      1. Définissez l’enregistrement modèle pour la consolidation à l’aide d’une instance de ConsolidationCondition, qui se compose d'instances ConsolidationRule.
      2. Définissez les conditions de consolidation à l’aide d'instances de ConsolidationCondition, et en reliant les conditions à l’aide d'opérateurs logiques.

        Chaque instance de ConsolidationCondition est définie à l'aide d'une instance ConsolidationRule et de son instance ConsolidationAction correspondante.

      Remarque : Chaque instance de ConsolidationRule peut être définie soit à l'aide d'une seule instance de SimpleRule, soit à l’aide d’une hiérarchie d'instances SimpleRule enfants et d'instances ConjoinedRule imbriquées, liées à l’aide d'opérateurs logiques. Voir Énumération JoinType et Énumération Operation.
    3. Créez une instance de BestofBreedDetail en transmettant une instance de type JobConfig, l'instance GroupbyOption créée et l'instance BestOfBreedConfiguration créée ci-dessus comme arguments à son constructeur.
      Le paramètre JobConfig doit être une instance de type MRJobConfig.
    4. Définissez les détails du fichier d'entrée à l'aide du champ inputPath de l'instance BestofBreedDetail.
      Pour un fichier d'entrée texte, créez une instance de FilePath avec les détails pertinents du fichier d'entrée en appelant le constructeur approprié. Pour un fichier d'entrée ORC, créez une instance de OrcFilePath avec le chemin d’accès au fichier d'entrée ORC comme argument.
    5. Définissez les détails du fichier de sortie à l'aide du champ outputPath de l'instance BestofBreedDetail.
      Pour un fichier de sortie texte, créez une instance de FilePath avec les détails pertinents du fichier de sortie en appelant le constructeur approprié. Pour un fichier de sortie ORC, créez une instance de OrcFilePath avec le chemin d’accès au fichier de sortie ORC comme argument.
    6. Définissez le nom du job à l'aide du champ jobName de l'instance BestofBreedDetail.
    7. Définissez l'indicateur compressOutput de l'instance BestofBreedDetail sur true pour compresser la sortie du job.
  3. Pour créer un job MapReduce, utilisez l'instance de AdvanceMatchFactory précédemment créée pour appeler sa méthode createJob(). Dans ce cas, transmettez l'instance ci-dessus de BestofBreedDetail comme argument.
    La méthode createJob() crée le job et renvoie une List d’instances de ControlledJob.
  4. Exécutez le job créé à l’aide d’une instance de JobControl.
  5. Pour afficher les compteurs de reporting suite à l'exécution correcte d'un job MapReduce, utilisez l'instance précédemment créée AdvanceMatchFactory pour appeler sa méthode getCounters(), en transmettant le job créé comme argument.