Uso de un trabajo MapReduce de Transactional Match

  1. Cree una instancia de AdvanceMatchFactory con su método estático getInstance().
  2. Proporcione los detalles de entrada y salida del trabajo Transactional Match mediante la creación de una instancia de TransactionalMatchDetail que especifique el ProcessType. La instancia debe usar el tipo MRProcessType.
    1. Especifique la columna con la cual se agruparán los registros creando una instancia de GroupbyOption.
      Utilice una instancia de GroupbyMROption para especificar la columna por grupo y la cantidad de reductores que se necesitan.
    2. Genere las reglas de cruce para el trabajo creando una instancia de MatchRule.
    3. Cree una instancia de TransactionalMatchDetail pasando una instancia del tipo JobConfig, la instancia GroupbyOption creada y la instancia MatchRule creada anteriormente como los argumentos para su constructor.
      El parámetro JobConfig debe ser una instancia de tipo MRJobConfig.
    4. Establezca los detalles del archivo de entrada mediante el campo inputPath de la instancia TransactionalMatchDetail.
      Para un archivo de entrada de texto, cree una instancia de FilePath con los detalles relevantes del archivo de entrada mediante la invocación del constructor apropiado. Para un archivo de entrada ORC, cree una instancia de OrcFilePath con la ruta del archivo de entrada ORC como argumento.
    5. Establezca los detalles del archivo de salida mediante el campo outputPath de la instancia TransactionalMatchDetail.
      Para un archivo de salida de texto, cree una instancia de FilePath con los detalles relevantes del archivo de salida mediante la invocación del constructor apropiado. Para un archivo de salida ORC, cree una instancia de OrcFilePath con la ruta del archivo de salida ORC como argumento.
    6. Establezca el nombre del trabajo mediante el campo jobName de la instancia TransactionalMatchDetail.
    7. Establezca la bandera returnUniqueCandidates de la instancia TransactionalMatchDetail en verdadero para obtener los registros de candidato único en la salida. El valor predeterminado es verdadero.
    8. Establezca la bandera compressOutput de la instancia TransactionalMatchDetail en verdadero para comprimir la salida del trabajo.
    9. Si los datos de entrada no tienen clave de cruce, debe especificar las configuraciones de clave de cruce para ejecutar, en primer lugar, el trabajo de Match Key Generator a fin de generar las claves de cruce antes de ejecutar el trabajo Transactional Match.
      Para generar las claves de cruce de los datos de entrada, especifique las configuraciones de clave de cruce mediante la creación y la configuración de una instancia deMatchKeySettings para generar una clave de cruce antes de realizar el trabajo Transactional Match. Establezca esta instancia mediante el campo matchKeySettings de la instancia TransactionalMatchDetail.
      Nota: Para averiguar cómo ajustar la configuración de claves de cruce, consulte las muestras de códigos.
  3. Para crear un trabajo MapReduce, utilice la instancia anteriormente creada de AdvanceMatchFactory para invocar el métodocreateJob(). Aquí, pase la instancia anterior de TransactionalMatchDetail como un argumento.
    El método createJob() crea un trabajo y devuelve unaList de las instancias de ControlledJob.
  4. Ejecute el trabajo creado con el uso de una instancia de JobControl.
  5. Para mostrar que los contadores de informes publican una ejecución de trabajo MapReduce exitosa, use la instancia creada anteriormente AdvanceMatchFactory para invocar su método getCounters(), mediante el paso de un trabajo creado como un argumento.