Utilisation d'un job Best of Breed MapReduce
-
Créez une instance de
AdvanceMatchFactory
à l'aide de sa méthode statiquegetInstance()
. -
Fournissez les détails d'entrée et de sortie du job Best of Breed en créant une instance de
BestofBreedDetail
définissantProcessType
. L’instance doit utiliser le type MRProcessType.-
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. -
Générez les règles de consolidation et de modélisation du job en créant une instance de
BestOfBreedConfiguration
. Dans cette instance :- Définissez l’enregistrement modèle pour la consolidation à l’aide d’une instance de
ConsolidationCondition
, qui se compose d'instancesConsolidationRule
. - 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 instanceConsolidationRule
et de son instanceConsolidationAction
correspondante.
Remarque : Chaque instance deConsolidationRule
peut être définie soit à l'aide d'une seule instance deSimpleRule
, soit à l’aide d’une hiérarchie d'instancesSimpleRule
enfants et d'instancesConjoinedRule
imbriquées, liées à l’aide d'opérateurs logiques. Voir Énumération JoinType et Énumération Operation. - Définissez l’enregistrement modèle pour la consolidation à l’aide d’une instance de
-
Créez une instance de
BestofBreedDetail
en transmettant une instance de typeJobConfig
, l'instanceGroupbyOption
créée et l'instanceBestOfBreedConfiguration
créée ci-dessus comme arguments à son constructeur.Le paramètreJobConfig
doit être une instance de type MRJobConfig. -
Définissez les détails du fichier d'entrée à l'aide du champ
inputPath
de l'instanceBestofBreedDetail
.Pour un fichier d'entrée texte, créez une instance deFilePath
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 deOrcFilePath
avec le chemin d’accès au fichier d'entrée ORC comme argument. -
Définissez les détails du fichier de sortie à l'aide du champ
outputPath
de l'instanceBestofBreedDetail
.Pour un fichier de sortie texte, créez une instance deFilePath
avec les détails pertinents du fichier de sortie en appelant le constructeur approprié. Pour un fichier de sortie ORC, créez une instance deOrcFilePath
avec le chemin d’accès au fichier de sortie ORC comme argument. -
Définissez le nom du job à l'aide du champ
jobName
de l'instanceBestofBreedDetail
. -
Définissez l'indicateur
compressOutput
de l'instanceBestofBreedDetail
sur true pour compresser la sortie du job.
-
Spécifiez la colonne à l'aide de laquelle les enregistrements doivent être regroupés en créant une instance de
-
Pour créer un job MapReduce, utilisez l'instance de
AdvanceMatchFactory
précédemment créée pour appeler sa méthodecreateJob()
. Dans ce cas, transmettez l'instance ci-dessus deBestofBreedDetail
comme argument.La méthodecreateJob()
crée le job et renvoie uneList
d’instances deControlledJob
. -
Exécutez le job créé à l’aide d’une instance de
JobControl
. -
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éthodegetCounters()
, en transmettant le job créé comme argument.