snowflake.ml.feature_store.FeatureView¶
- class snowflake.ml.feature_store.FeatureView(name: str, entities: List[Entity], feature_df: DataFrame, timestamp_col: Optional[str] = None, refresh_freq: Optional[str] = None, desc: str = '', **_kwargs: Any)¶
Bases:
object
A FeatureView instance encapsulates a logical group of features.
Create a FeatureView instance.
- Parameters:
name – name of the FeatureView. NOTE: following Snowflake identifier rule
entities – entities that the FeatureView is associated with.
feature_df – Snowpark DataFrame containing data source and all feature feature_df logics. Final projection of the DataFrame should contain feature names, join keys and timestamp(if applicable).
timestamp_col – name of the timestamp column for point-in-time lookup when consuming the feature values.
refresh_freq –
Time unit defining how often the new feature data should be generated. Valid args are { <num> { seconds | minutes | hours | days } | DOWNSTREAM | <cron expr> <time zone>}. NOTE: Currently minimum refresh frequency is 1 minute. NOTE: If refresh_freq is in cron expression format, there must be a valid time zone as well.
E.g. * * * * * UTC
- NOTE: If refresh_freq is not provided, then FeatureView will be registered as View on Snowflake backend
and there won’t be extra storage cost.
desc – description of the FeatureView.
_kwargs – reserved kwargs for system generated args. NOTE: DO NOT USE.
Methods
- attach_feature_desc(descs: Dict[str, str]) FeatureView ¶
Associate feature level descriptions to the FeatureView.
- Parameters:
descs – Dictionary contains feature name and corresponding descriptions.
- Returns:
FeatureView with feature level desc attached.
- Raises:
ValueError – if feature name is not found in the FeatureView.
- classmethod from_json(json_str: str, session: Session) FeatureView ¶
- fully_qualified_name() str ¶
- Returns the fully qualified name (<database_name>.<schema_name>.<feature_view_name>) for the
FeatureView in Snowflake.
- Returns:
fully qualified name string.
- Raises:
RuntimeError – if the FeatureView is not registered.
- slice(names: List[str]) FeatureViewSlice ¶
Select a subset of features within the FeatureView.
- Parameters:
names – feature names to select.
- Returns:
FeatureViewSlice instance containing selected features.
- Raises:
ValueError – if selected feature names is not found in the FeatureView.
- to_df(session: Session) DataFrame ¶
- to_json() str ¶
Attributes
- database¶
- desc¶
- entities¶
- feature_descs¶
- feature_df¶
- feature_names¶
- name¶
- output_schema¶
- owner¶
- query¶
- refresh_freq¶
- refresh_mode¶
- refresh_mode_reason¶
- schema¶
- status¶
- timestamp_col¶
- version¶
- warehouse¶