Skip to main content
Version: v3.0.0

Update feature set metadata

To update feature set fields, call the update() method with the fields you want to change. Only the fields you pass are modified, for example:

workspace = client.workspaces.list(name="my_workspace")[0]
fs = workspace.feature_sets.get_by_name("name")

# Update one or more fields via update()
fs.update(deprecated=True)
# Overwrite the tags (tags accepts a list of strings)
fs.update(tags=["new tag 1", "new tag 2"])
# Overwrite the data source domains (accepts a list of strings)
fs.update(data_source_domains=["new domain 1", "new domain 2"])

# Time to live is set through its own setters
fs.time_to_live.ttl_offline = 2

Feature type can be changed by:

from h2o_featurestore.core.resources.feature import FeatureType
workspace = client.workspaces.list(name="my_workspace")[0]
fs = workspace.feature_sets.get_by_name("name")
feature = fs.features["feature"]
feature.profile.feature_type = FeatureType.CATEGORICAL

The following fields can be updated via fs.update(...) / feature.update(...):

# fs.update(...)
- tags
- data_source_domains
- feature_set_type
- description
- application_name
- application_id
- deprecated
- custom_data
- state
- name

# feature.update(...), where feature = fs.features["<name>"]
- status
- importance
- description
- special
- classifiers
- anomaly_detection

The remaining fields are not update() kwargs — they are exposed as properties with their own setters, which apply the change immediately:

- fs.time_to_live.ttl_offline
- fs.time_to_live.ttl_offline_interval
- fs.time_to_live.ttl_online
- fs.time_to_live.ttl_online_interval
- feature.profile.feature_type
note
  • feature_set_type has two values, RAW or ENGINEERED. It denotes whether the feature set was derived from raw or processed data. This classification exists for information purposes and does not affect Feature Store behavior.
  • time_to_live is currently respected for data in online feature store only. It indicates the duration for which records remain stored before they are evicted.

To retrospectively find out who and when updated a feature set, call:

fs.last_updated_by
fs.last_modified_time

Feedback