Utilisation de FindMatches dans une tâche visuelle - AWS Glue

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Utilisation de FindMatches dans une tâche visuelle

Pour utiliser la transformation FindMatchesAWS Glue Studio, vous pouvez utiliser le nœud Transformation personnalisée qui appelle l'API FindMatches. Pour plus d'informations sur l'utilisation d'une transformation personnalisée, consultez Creating a custom transformation.

Note

Actuellement, l'API FindMatches ne fonctionne qu'avec Glue 2.0. Pour exécuter une tâche avec la transformation personnalisée qui invoque l'API FindMatches, assurez-vous que la version AWS Glue est bien Glue 2.0 dans l'onglet Détails de la tâche. Si la version de AWS Glue n'est pas Glue 2.0, la tâche échoue lors de l'exécution et affiche le message d'erreur suivant : « Impossible d'importer le nom “FindMatches” depuis “awsglueml.transform” ».

Prérequis

  • Pour utiliser la transformation Trouver des correspondances, ouvrez la console AWS Glue Studio sur https://console.aws.amazon.com/gluestudio/.

  • Créer une transformation de machine learning. Une fois créé, un transformId est généré. Vous aurez besoin de cet identifiant pour les étapes ci-dessous. Pour plus d'informations sur la création d'une transformation de machine learning, consultez Adding and editing machine learning transforms.

Ajouter une transformation FindMatches

Pour ajouter une transformation FindMatches :
  1. Dans l'éditeur de tâches AWS Glue Studio, ouvrez le panneau Ressources en cliquant sur le symbole en forme de croix dans le coin supérieur gauche du graphique visuel des tâches et choisissez une source de données en choisissant l'onglet Données. Il s'agit de la source de données pour laquelle vous souhaitez vérifier les correspondances.

    
            La capture d'écran montre un symbole en forme de croix à l'intérieur d'un cercle. Lorsque vous cliquez dessus dans l'éditeur visuel de tâches, le panneau Ressources s'ouvre.
  2. Choisissez le nœud de source de données, puis ouvrez le panneau Ressources en cliquant sur le symbole en forme de croix dans le coin supérieur gauche du graphique visuel des tâches et recherchez « transformation personnalisée ». Choisissez le nœud Transformation personnalisée pour l'ajouter au graphique. La Transformation personnalisée est liée au nœud de source de données. Si ce n'est pas le cas, vous pouvez cliquer sur le nœud Transformation personnalisée et choisir l'onglet Propriétés du nœud, puis sous Parents du nœud, choisissez la source de données.

  3. Cliquez sur le nœud de Transformation personnalisée dans le graphique visuel, puis choisissez l'onglet Propriétés du nœud et nommez la transformation personnalisée. Il est recommandé de renommer la transformation afin que son nom soit facilement identifiable dans le graphique visuel.

  4. Choisissez l'onglet Transformation, dans lequel vous pouvez modifier le bloc de code. C'est ici que le code permettant d'invoquer l'API FindMatches peut être ajouté.

    
            La capture d'écran montre le bloc de code dans l'onglet Transformation lorsque le nœud Transformation personnalisée est sélectionné.

    Le bloc de code contient un code prérempli pour vous aider à démarrer. Remplacez le code prérempli par le modèle ci-dessous. Le modèle comporte un espace réservé pour le transformId, que vous pouvez indiquer.

    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. Cliquez sur le nœud Transformation personnalisée dans le graphique visuel, puis ouvrez le panneau Ressources en cliquant sur le symbole en forme de croix dans le coin supérieur gauche du graphique visuel des tâches et recherchez « Collection Sélectionner depuis ». Il n'est pas nécessaire de modifier la sélection par défaut puisqu'il n'y a qu'un seul DynamicFrame dans la collection.

  6. Vous pouvez continuer à ajouter des transformations ou stocker le résultat, qui est désormais enrichi par les colonnes supplémentaires de recherche de correspondances. Si vous souhaitez référencer ces nouvelles colonnes dans les transformations en aval, vous devez les ajouter au schéma de sortie de la transformation. Le moyen le plus simple est de choisir l'onglet Aperçu des données, puis de choisir « Utiliser le schéma d'aperçu des données » dans l'onglet Schéma.

  7. Pour personnaliser FindMatches, vous pouvez ajouter des paramètres supplémentaires à transmettre à la méthode « apply ». Consultez FindMatches class.

Ajout d'une transformation incrémentielle FindMatches

Dans le cas de correspondances incrémentielles, le processus est identique à celui de l'Ajout d'une transformation FindMatches, avec les différences suivantes :

  • Au lieu d'un nœud parent pour la transformation personnalisée, vous avez besoin de deux nœuds parents.

  • Le premier nœud parent doit être le jeu de données.

  • Le deuxième nœud parent doit être le jeu de données incrémentiel.

    Remplacez le transformId par votre transformId dans le bloc de code du modèle :

    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))
  • Pour les paramètres facultatifs, consultez FindIncrementalMatches class.