Verwenden von Entitäten¶
Bemerkung
Der Snowflake Feature Store API ist im Snowpark ML Python-Paket (snowflake-ml-python
) v1.5.0 und höher verfügbar.
Entitäten ordnen die Feature-Ansichten nach Themengebieten, so dass Benutzer die benötigten Feature-Ansichten leichter finden können. Ein Feature Store für einen Video-Streaming-Dienst könnte zum Beispiel Entitäten für Benutzer und Filme definieren. Jede Feature-Ansicht im Feature Store ist als film- oder benutzerbezogen oder als beides gekennzeichnet, und Sie können eine Liste der Feature-Ansichten abrufen, die mit diesen Entitäten in Verbindung stehen.
Entitäten helfen nicht nur bei der Organisation von Feature-Ansichten, sondern speichern auch die Namen der Schlüsselspalten, die Sie verwenden können, um die extrahierten Features wieder mit den Originaldaten zu verbinden.
Erstellen einer Entität¶
Um eine neue Entität zu erstellen und sie in einem Feature Store zu registrieren, verwenden Sie die register_entity
-Methode des Feature Stores. Hier ist fs
die Instanz des Feature Stores (siehe Erstellen eines Feature Store oder Verbinden mit einem 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)
Auflisten von Entitäten¶
Um die registrierten Entitäten in Ihrem Feature Store zu sehen, verwenden Sie die list_entities
-Methode des Feature Stores, die eine Snowpark DataFrame zurückgibt. (fs
ist die Instanz des Feature Stores, siehe Erstellen eines Feature Store oder Verbinden mit einem Feature Store.)
fs.list_entities().show()
Abrufen einer Entität¶
Sie können eine registrierte Entität mit der get_entity
-Methode des Feature Stores abrufen, um z. B. ihre Join-Schlüssel zu erhalten.
entity = fs.get_entity(name="MY_ENTITY")
print(entity.join_keys)
Ändern einer Entität¶
Sie können die Beschreibung einer Entität mit der update_entity
-Methode des Feature Stores aktualisieren:
fs.update_entity(
name="MY_ENTITY",
desc="NEW DESCRIPTION"
)
Andere Aspekte der Entität, wie z. B. ihre Verbindungsschlüssel, sind unveränderlich. Um diese zu ändern, erstellen Sie eine neue Entität.
Löschen einer Entität¶
Sie können eine Entität mit der delete_entity
-Methode des Feature Stores löschen.
fs.delete_entity(name="MY_ENTITY")
Entitäten, die von einer beliebigen Feature-Ansicht referenziert werden, können nicht gelöscht werden.
Bekannte Einschränkungen¶
Entitäten werden als Tags implementiert und unterliegen der Beschränkung von 10.000 Tags pro Konto und 50 eindeutigen Tags pro Objekt.