Uso 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 FindMatches en un trabajo visual

Para usar la FindMatchestransformación enAWS Glue Studio, puede usar el nodo Transformación personalizada que invoca la FindMatches API. Para obtener más información sobre cómo utilizar una transformación personalizada, consulte Crear una transformación personalizada

nota

Actualmente, la FindMatches API solo funciona conGlue 2.0. Para ejecutar un Job con la transformación personalizada que invoca la FindMatches API, asegúrese de que laAWS Glue versión estéGlue 2.0 en la pestaña Detalles del trabajo. Si la versión de no loAWS Glue esGlue 2.0, el trabajo fallará durante la ejecución y aparecerá el siguiente mensaje de error: «no se puede importar el nombreFindMatches '' de 'awsglueml.transform'».

Requisitos previos

Añadir una FindMatches transformación

Para añadir una FindMatches transformación:
  1. En elAWS Glue Studio editor de tareas, abra el panel Recursos haciendo clic en el símbolo de la cruz en la esquina superior izquierda del gráfico visual de tareas y elija una fuente de datos en la pestaña Datos. Esta es la fuente de datos en la que desea comprobar si hay coincidencias.

    
            La captura de pantalla 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. Elija el nodo de la fuente de datos y, a continuación, abra el panel de recursos haciendo clic en el símbolo de la cruz situado en la esquina superior izquierda del gráfico visual de tareas 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 la fuente de datos. Si no es así, puede hacer clic en el nodo Transformación personalizada y elegir la pestaña Propiedades del nodo y, a continuación, en Padres del nodo, elegir la fuente 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 se pueda identificar fácilmente en el gráfico visual.

  4. Elige la pestaña Transformar, donde puedes editar el bloque de código. Aquí es donde se puede añadir el código para invocar la FindMatches API.

    
            La captura de pantalla 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 un código rellenado previamente para que pueda empezar. Sobrescriba el código que se rellenó previamente con la plantilla que se muestra a continuación. La plantilla tiene un marcador de posición para el TransformID, que puedes 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 del gráfico visual y, a continuación, abra el panel de recursos haciendo clic en el símbolo de la cruz en la esquina superior izquierda del gráfico visual de tareas y busque «Seleccionar de la colección». No es necesario cambiar la selección predeterminada, ya que solo hay una DynamicFrame en la colección.

  6. Puede seguir añadiendo 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 añadirlas al esquema de salida de la transformación. La forma más sencilla de hacerlo es elegir la pestaña Vista previa de datos y, a continuación, en la pestaña de esquema, elegir «Usar esquema de revisión de datos».

  7. Para personalizarlo FindMatches, puede añadir parámetros adicionales para pasarlos al método «aplicar». Ver FindMatches clase.

Añadir una transformación FindMatches incremental

En el caso de coincidencias incrementales, el proceso es el mismo que el de añadir una FindMatches transformación 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 el portransformId el suyotransformId en el bloque de código de la plantilla:

    def MyTransform (glueContext, dfc) -> DynamicFrameCollection: dfs = dfc.select(list(dfc.keys()) dynf = dfs[0] inc_dynf = dfs[1] from awsglueml.transforms import FindIncrementalMatches findmatches = FindMatches.apply(existingFrame = dynf, incrementalFrame = inc_dynf, transformId = "<your id>") return(DynamicFrameCollection({"FindMatches": findmatches}, glueContext))
  • Para ver los parámetros opcionales, consulte FindIncrementalMatches la clase.