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)
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()
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)
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"
)
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")
Entidades referenciadas por qualquer exibição de recurso não podem ser excluídas.
Limitações conhecidas¶
As entidades são implementadas como tags e estão sujeitas ao limite de 10.000 tags por conta e 50 tags exclusivas por objeto.