

# Uso de FindMatches en un trabajo visual
<a name="find-matches-visual-job"></a>

 Para usar la transformación **FindMatches** en AWS Glue Studio, puede usar el nodo **Custom Transform** que invoca la API FindMatches. Para obtener más información sobre cómo usar una transformación personalizada, consulte [Crear una transformación personalizada](https://docs.aws.amazon.com/glue/latest/ug/transforms-custom.html). 

**nota**  
 Actualmente, la API FindMatches solo funciona con `Glue 2.0`. Para ejecutar un trabajo con la transformación personalizada que invoca la API FindMatches, asegúrese de que la versión de AWS Glue sea `Glue 2.0` en la pestaña **Detalles del trabajo**. Si la versión de AWS Glue no es `Glue 2.0`, el trabajo fallará en tiempo de ejecución y mostrará el siguiente mensaje de error: “no se puede importar el nombre 'FindMatches' de 'awsglueml.transforms'”. 

## Requisitos previos
<a name="adding-find-matches-to-a-visual-job-prerequisites"></a>
+  Para utilizar la transformación **FindMatches** abra la consola de AWS Glue Studio en [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/). 
+  Cree una transformación de machine learning. Cuando se crea, se genera un transformld. Para realizar los pasos que se indican a continuación, necesitará este ID. Para obtener más información sobre cómo crear una transformación de machine learning, consulte [Agregar y editar transformaciones de machine learning](https://docs.aws.amazon.com/glue/latest/dg/console-machine-learning-transforms.html#console-machine-learning-transforms-actions). 

## Agregar una transformación de FindMatches
<a name="adding-find-matches-to-a-visual-job"></a>

**Para agregar una transformación de FindMatches:**

1.  En el editor de trabajos de AWS Glue Studio, abra el panel de recursos mediante un clic en el símbolo de la cruz situado en la esquina superior izquierda del gráfico visual del trabajo y elija un origen de datos en la **pestaña Datos**. Este es el origen de datos en el que desea comprobar si hay coincidencias.   
![En la captura de pantalla se muestra un símbolo de cruz dentro de un círculo. Al hacer clic en él en el editor visual de tareas, se abre el panel de recursos.](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/resource-panel-blank-canvas.png)

1.  Seleccione el nodo del origen de datos y, a continuación, abra el panel de recursos mediante un clic en el símbolo de la cruz situado en la esquina superior izquierda del gráfico visual del trabajo y busque “transformación personalizada”. Elija el nodo **Transformación personalizada** para agregarlo al gráfico. La **transformación personalizada** está vinculada al nodo de origen de datos. Si no lo está, puede hacer clic en el nodo **Transformación personalizada** y elegir la pestaña **Propiedades del nodo** y, a continuación, en **Nodos principales**, elegir el origen de datos. 

1.  Haga clic en el nodo **Transformación personalizada** del gráfico visual y, a continuación, seleccione la pestaña **Propiedades del nodo** y asigne un nombre a la transformación personalizada. Se recomienda cambiar el nombre de la transformación para que el nombre de la transformación sea fácilmente identificable en el gráfico visual. 

1.  Seleccione la pestaña **Transformación**, donde podrá editar el bloque de código. Aquí es donde se puede agregar el código para invocar la API FindMatches.   
![En la captura de pantalla, se muestra el bloque de código en la pestaña Transformar cuando se selecciona el nodo Transformación personalizada.](http://docs.aws.amazon.com/es_es/glue/latest/dg/images/custom-transform-code-block.png)

    El bloque de código contiene código rellenado previamente para que pueda empezar. Sobrescriba el código rellenado previamente con la plantilla que se muestra a continuación. La plantilla tiene un marcador de posición para el **transformId**, que puede proporcionar. 

   ```
   def MyTransform (glueContext, dfc) -> DynamicFrameCollection:
       dynf = dfc.select(list(dfc.keys())[0])
       from awsglueml.transforms import FindMatches
       findmatches = FindMatches.apply(frame = dynf, transformId = "<your id>")
       return(DynamicFrameCollection({"FindMatches": findmatches}, glueContext))
   ```

1.  Haga clic en el nodo **Transformación personalizada** en el gráfico visual y, a continuación, abra el panel de recursos mediante un clic en el símbolo de la cruz situado en la esquina superior izquierda del gráfico visual del trabajo y busque “Seleccionar de la colección”. No es necesario cambiar la selección predeterminada, ya que solo hay un DynamicFrame en la colección. 

1.  Puede seguir agregando transformaciones o almacenar el resultado, que ahora está enriquecido con las columnas adicionales de búsqueda de coincidencias. Si desea hacer referencia a esas nuevas columnas en las transformaciones posteriores, debe agregarlas al esquema de salida de la transformación. La forma más sencilla de hacerlo es elegir la pestaña de **vista previa de datos** y, a continuación, en la pestaña de esquema, elegir “Usar esquema de vista previa de datos”. 

1.  Para personalizar FindMatches, puede agregar parámetros adicionales para pasarlos al método 'aplicar'. Consulte [Clase FindMatches](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-transforms-findmatches.html). 

## Agregar una transformación de FindMatches de forma incremental
<a name="find-matches-incrementally-visual-job"></a>

 En el caso de coincidencias incrementales, el proceso es el mismo que el de **Agregar una transformación FindMatches** con las siguientes diferencias: 
+  En lugar de un nodo principal para la transformación personalizada, necesita dos nodos principales. 
+  El primer nodo principal debe ser el conjunto de datos. 
+  El segundo nodo principal debe ser el conjunto de datos incremental. 

   Sustituya `transformId` con su `transformId` en la plantilla de bloque de código: 

  ```
  def MyTransform (glueContext, dfc) -> DynamicFrameCollection:
      dfs = list(dfc.values())
      dynf = dfs[0]
      inc_dynf = dfs[1]
      from awsglueml.transforms import FindIncrementalMatches
      findmatches = FindIncrementalMatches.apply(existingFrame = dynf, incrementalFrame = inc_dynf,
                                      transformId = "<your id>")
      return(DynamicFrameCollection({"FindMatches": findmatches}, glueContext))
  ```
+  Para ver los parámetros opcionales, consulte [Clase FindIncrementalMatches](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-transforms-findincrementalmatches.html). 