Online Materialization
Glacius also allows you to materialize features into an ultra low latency online store for real time serving. To materialize, simply list the features you're interested in materializing along with the namespace version.
Online Materialization
main.py
client.materialize_features(feature_names=[f.name for f in user_bundle.features], version="latest")
Getting Online Features
To get online features, call the get_online_features API with the feature names you're interested in getting, and also the unique IDs associated with the entity you're interested in.
main.py
online_features = client.get_online_features(feature_names=[f.name for f in new_bundle.features], entity_ids=[
user_entity.id("2139083"),
user_entity.id("92098321"),
])
If you aren't using python for real time inference, you can also call the API
curl --location 'localhost:8000/online-store' \
--header 'x-api-key: ******' \
--header 'Content-Type: application/json' \
--data '{
"namespace": "development",
"workspace": "test-dev",
"feature_names": ["AVG_MUSIC_STREAMING_SECS_1_24H", "AVG_MUSIC_STREAMING_SECS_2_24H", "AVG_MUSIC_STREAMING_SECS_3_24H", "AVG_MUSIC_STREAMING_SECS_4_24H", "AVG_MUSIC_STREAMING_SECS_5_24H", "AVG_MUSIC_STREAMING_SECS_6_24H"],
"entity_ids": ["USER_ID:1671", "USER_ID:1233", "USER_ID:gay"]
}'