Utilisation d’entités

Note

L’API Snowflake Feature Store est disponible dans le paquet Snowpark ML Python (snowflake-ml-python) v1.5.0 et ultérieure.

Les entités organisent les vues de fonctionnalités par sujet afin que les utilisateurs puissent trouver plus facilement les vues de fonctionnalités dont ils ont besoin. Par exemple, une boutique de fonctionnalités pour un service de streaming vidéo peut définir des entités pour les utilisateurs et les films. Chaque vue de fonctionnalité dans la boutique de fonctionnalités est étiquetée comme étant liée aux films ou aux utilisateurs, ou aux deux, et vous pouvez récupérer une liste de vues de fonctionnalités liées à ces entités.

En plus d’aider à organiser les vues de fonctionnalités, les entités stockent les noms des colonnes clés que vous pouvez utiliser pour joindre les fonctionnalités extraites aux données d’origine.

Création d’une entité

Pour créer une nouvelle entité et l’enregistrer dans une boutique de fonctionnalités, utilisez la méthode register_entity de cette boutique. Voici le résultat : fs est l’instance de boutique de fonctionnalités (voir Création ou connexion à un magasin de fonctions).

from snowflake.ml.feature_store import Entity

entity = Entity(
    name="MY_ENTITY",
    join_keys=["UNIQUE_ID"],
    desc="my entity"
)
fs.register_entity(entity)
Copy

Liste des entités

Pour voir les entités enregistrées dans votre Feature Store, utilisez la méthode list_entities du Feature Store, qui renvoie un DataFrame Snowpark. (fs est l’instance de boutique de fonctionnalités, voir Création ou connexion à un magasin de fonctions.)

fs.list_entities().show()
Copy

Récupération d’une entité

Vous pouvez récupérer une entité enregistrée à l’aide de la méthode get_entity de la boutique de fonctionnalités, par exemple pour obtenir ses clés de jointure.

entity = fs.get_entity(name="MY_ENTITY")
print(entity.join_keys)
Copy

Modification d’une entité

Vous pouvez mettre à jour la description d’une entité à l’aide de la méthode update_entity de la boutique de fonctionnalités :

fs.update_entity(
    name="MY_ENTITY",
    desc="NEW DESCRIPTION"
)
Copy

D’autres aspects de l’entité, tels que ses clés de jointure, sont immuables. Pour les modifier, créez une nouvelle entité.

Suppression d’une entité

Vous pouvez supprimer une entité à l’aide de la méthode delete_entity de la boutique de fonctionnalités.

fs.delete_entity(name="MY_ENTITY")
Copy

Les entités référencées par une vue de fonctionnalité ne peuvent pas être supprimées.

Limitations connues