Como trabalhar com entidades

Nota

A API do Snowflake Feature Store está disponível no pacote Snowpark ML Python (snowflake-ml-python) v1.5.0 e posterior.

As entidades organizam as visualizações de recurso por assunto para que os usuários possam encontrar mais facilmente as visualizações de recurso de que precisam. Por exemplo, um repositório de recursos para um serviço de streaming de vídeo pode definir entidades para usuários e filmes. Cada exibição de recurso no repositório de recurso é marcada como relacionada a filmes ou a usuários, ou a ambos, e você pode recuperar uma lista de exibições de recurso relacionadas a essas entidades.

Além de ajudar a organizar as visualizações de recurso, as entidades armazenam os nomes das principais colunas que você pode usar para unir os recursos extraídos aos dados originais.

Criação de uma entidade

Para criar uma nova entidade e registrá-la em um repositório de recurso, use o método register_entity do repositório de recurso. Aqui, fs é a instância do repositório de recursos (veja Criação ou conexão a um repositório de recursos).

from snowflake.ml.feature_store import Entity

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

Entidades de listagem

Para ver as entidades registradas em seu repositório de recursos, use o método list_entities do repositório de recursos, que retorna um DataFrame Snowpark. (fs é a instância do repositório de recursos; consulte Criação ou conexão a um repositório de recursos.)

fs.list_entities().show()
Copy

Recuperação de uma entidade

É possível recuperar uma entidade registrada usando o método get_entity do repositório de recursos; por exemplo, para obter suas chaves de junção.

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

Modificação de uma entidade

É possível atualizar a descrição de uma entidade usando o método update_entity do repositório de recursos:

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

Outros aspectos da entidade, como suas chaves de junção, são imutáveis. Para alterar isso, crie uma nova entidade.

Exclusão de uma entidade

É possível excluir uma entidade usando o método delete_entity do repositório de recursos.

fs.delete_entity(name="MY_ENTITY")
Copy

Entidades referenciadas por qualquer exibição de recurso não podem ser excluídas.

Limitações conhecidas