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)
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()
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)
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"
)
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")
Les entités référencées par une vue de fonctionnalité ne peuvent pas être supprimées.
Limitations connues¶
Les entités sont implémentées comme des balises et sont donc soumises à la limite de 10 000 balises par compte et 50 balises uniques par objet.