Uso de un trabajo Spark 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 SparkProcessType.
    1. Especifique la columna con la cual se agruparán los registros creando una instancia de GroupbyOption.
      Utilice una instancia de GroupbySparkOption para especificar la columna por grupo.
    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 SparkJobConfig.
    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 y ejecutar el trabajo Spark, utilice la instancia anteriormente creada deAdvanceMatchFactory para invocar este métodorunSparkJob(). Aquí, pase la instancia anterior de TransactionalMatchDetail como un argumento.
    El método runSparkJob() ejecuta el trabajo y devuelve unMap de los contadores de informes del trabajo.
  4. Muestre los contadores para ver las estadísticas de generación de informes para el trabajo.