使用实体¶
备注
Snowflake 特征平台 API 在 Snowpark ML Python 包 (snowflake-ml-python
) v1.5.0 及更高版本中提供。
实体按主题整理特征视图,让用户能够更轻松地找到所需的特征视图。例如,一个视频流媒体服务的特征平台可能会为用户和电影定义实体。特征平台中的每个特征视图都被标记为与电影和/或用户相关,并且您可以检索与这些实体相关的特征视图列表。
除了帮助整理特征视图之外,实体还会存储键列名称,可用于将提取出的特征重新联接回原始数据。
创建实体¶
要创建新实体并将其注册到特征平台中,请使用特征平台的 register_entity
方法。在这里,fs
是特征平台实例(请参阅 创建或连接功能商店)。
from snowflake.ml.feature_store import Entity
entity = Entity(
name="MY_ENTITY",
join_keys=["UNIQUE_ID"],
desc="my entity"
)
fs.register_entity(entity)
列出实体¶
要查看特征平台中已注册的实体,请使用特征平台的 list_entities
方法,该方法会返回一个 Snowpark DataFrame。(fs
是特征平台实例;请参阅 创建或连接功能商店。)
fs.list_entities().show()
检索实体¶
您可以使用特征平台的 get_entity
方法;例如,用于获取其联接键。
entity = fs.get_entity(name="MY_ENTITY")
print(entity.join_keys)
修改实体¶
您可以使用特征平台的 update_entity
方法来更新实体的描述:
fs.update_entity(
name="MY_ENTITY",
desc="NEW DESCRIPTION"
)
实体的其他方面(例如其联接键)不可变。若要更改这些方面,您需要创建一个新实体。
删除实体¶
您可以使用特征平台的 delete_entity
方法。
fs.delete_entity(name="MY_ENTITY")
任何特征视图所引用的实体均不可删除。
已知限制¶
实体以标签形式实现,并受以下限制:每个账户 10,000 个标签 及 每个对象 50 个不重复标签。