Utilisation d'un job Filter 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 Filter en créant une instance de FilterDetail 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 du job en créant une instance de FilterConfiguration. Dans cette instance, 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 FilterDetail en transmettant une instance de type JobConfig, l'instance GroupbyOption créée et l'instance FilterConfiguration 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 FilterDetail.
      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 FilterDetail.
      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 FilterDetail.
    7. Définissez l'indicateur compressOutput de l'instance FilterDetail sur true pour compresser la sortie du job.
  3. Créez le job à l'aide de l'instance précédemment créée de AdvanceMatchFactory pour appeler sa méthode createJob(). Dans ce cas, transmettez l'instance ci-dessus de FilterDetail comme argument.
    La méthode createJob() 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.