Utilisation d'un job Transactional Match 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 Transactional Match en créant une instance de TransactionalMatchDetail 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 correspondance du job en créant une instance de MatchRule.
    3. Créez une instance de TransactionalMatchDetail en transmettant une instance de type JobConfig, l'instance GroupbyOption créée et l'instance MatchRule 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 TransactionalMatchDetail.
      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 TransactionalMatchDetail.
      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 TransactionalMatchDetail.
    7. Définissez l'indicateur returnUniqueCandidates de l'instance TransactionalMatchDetail sur true pour renvoyer les enregistrements candidats uniques en sortie. La valeur par défaut est true.
    8. Définissez l'indicateur compressOutput de l'instance TransactionalMatchDetail sur true pour compresser la sortie du job.
    9. Si les données d'entrée n'ont pas de clés de correspondance, vous devez spécifier les paramètres de clé de correspondance pour exécuter tout d'abord le job Match Key Generator pour générer des clés de correspondance, avant de pouvoir exécuter le job Transactional Match.
      Pour générer les clés de correspondance pour les données d'entrée, spécifiez les paramètres de clé de correspondance en créant et en configurant une instance deMatchKeySettings pour générer une clé de correspondance avant d'effectuer la correspondance transactionnelle. Définissez cette instance à l'aide du champ matchKeySettings de l'instance TransactionalMatchDetail.
      Remarque : Pour savoir comment définir les paramètres de clé de correspondance, consultez les exemples de code.
  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 TransactionalMatchDetail 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.