Uso de FindMatches en un trabajo visual - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de FindMatches en un trabajo visual

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.

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

Agregar una transformación de FindMatches

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.
  2. Seleccione el nodo de la fuente 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.

  3. 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.

  4. 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.

    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))
  5. 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.

  6. 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”.

  7. Para personalizar FindMatches, puede agregar parámetros adicionales para pasarlos al método 'aplicar'. Consulte Clase FindMatches.

Agregar una transformación de FindMatches de forma incremental

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.