Working with entities

Note

The Snowflake Feature Store API is available in the Snowpark ML Python package (snowflake-ml-python) v1.5.0 and later.

Entities organize feature views by subject matter so that users can more easily find the feature views they need. For example, a feature store for a video streaming service might define entities for users and movies. Each feature view in the feature store is tagged as related to movies or to users, or to both, and you can retrieve a list of feature views related to these entities.

In addition to helping to organize feature views, entities store the names of the key columns you can use to join the extracted features back to the original data.

Creating an entity

To create a new entity and register it in a feature store, use the feature store’s register_entity method. Here, fs is the feature store instance (see Creating or connecting to a feature store).

from snowflake.ml.feature_store import Entity

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

Listing entities

To see the registered entities in your feature store, use the feature store’s list_entities method, which returns a Snowpark DataFrame. (fs is the feature store instance; see Creating or connecting to a feature store.)

fs.list_entities().show()
Copy

Retrieving an entity

You can retrieve a registered entity using the feature store’s get_entity method; for example, to obtain its join keys.

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

Modifying an entity

You can update an entity’s description using the feature store’s update_entity method:

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

Other aspects of the entity, such as its join keys, are immutable. To change these, create a new entity.

Deleting an entity

You can delete an entity using the feature store’s delete_entity method.

fs.delete_entity(name="MY_ENTITY")
Copy

Entities that are referenced by any feature view cannot be deleted.

Known limitations