Source: factory.core/ObjFeatureStore.py
Feature store runtime class for computing and validating features.
This class handles:
| Method | Signature | Description |
|---|---|---|
| get_query_info | get_query_info() -> Dict[str, str] |
Gets feature set metadata from def_feature. |
| get_feature | get_feature(**pk_values) -> JsonDict |
Retrieves feature values for a specific primary key. |
| get_feature_from_dict | get_feature_from_dict(data: JsonDict) -> JsonDict |
Workflow method to retrieve features from an input dictionary. |
| get_compute_summary | get_compute_summary(feature_code: str = '', package: str = '') -> dict |
Retrieves the computation summary JSON for a feature set. |
| get_table_types_cached | get_table_types_cached(table_name: str) -> Dict[str, str] |
Cached version of get_table_types() for improved performance. |
| load_feature_definitions | load_feature_definitions(feature_code: str, package: str) -> Tuple[str, str, str, str, str, str, str, str, str, str, str, str, str, str, str, str, str, str, List[FeatureTuple], List[FeatureTuple]] |
Loads feature set metadata and separates global vs regular |
| create_feature_table | create_feature_table(table_name: str, source_query: str, source_query_pk: str) -> None |
Creates the feature store table if it doesn't exist, |
| create_globals_table | create_globals_table(input_table_1: str) -> str |
Creates the globals table for storing global feature |
| add_columns_bulk | add_columns_bulk(table_name: str, columns: List[Tuple[str, str]]) -> None |
Adds multiple columns to a table in a single ALTER |
| compute_feature_statistics | compute_feature_statistics(feature_code: str, package: str) -> Dict[str, Dict[str, Any]] |
Compute summary statistics for all features in a feature set. |
| compute_features | compute_features(feature_code: str, package: str, use_batch: bool = True, use_transaction: bool = False, respect_dependencies: bool = True) -> None |
Computes all features for a given FeatureCode and Package. |
| compute_features_incremental | compute_features_incremental(feature_code: str, package: str, filter_condition: str, use_batch: bool = True, use_transaction: bool = False, respect_dependencies: bool = True) -> None |
Computes features only for rows matching the filter condition. |
| compute_feature | compute_feature(table_name: str, feature: str, feature_type: str, feature_definition: str, feature_data_type: str) -> None |
Computes a single feature with timing tracking. |
| compute_features_batch | compute_features_batch(table_name: str, features_to_compute: List[FeatureTuple], substitution_dict: Optional[Dict[str, str]] = None) -> None |
Computes all features in a single batch operation for better performance. |
| compute_features_batch_optimized | compute_features_batch_optimized(table_name: str, features_to_compute: List[FeatureTuple]) -> None |
Optimized batch processing that groups features by input table. |
| compute_global_features | compute_global_features(input_table_1: str, globals_table: str, global_features: List[FeatureTuple], source_query: str, source_query_pk: str) -> Dict[str, str] |
Computes global features and stores them in the globals table. |
| load_constants_from_table | load_constants_from_table(constant_table: str) -> Dict[str, str] |
Loads constants from a table's first two columns as key-value pairs. |
| apply_substitution | apply_substitution(feature_definition: str, substitution_dict: Dict[str, str], computed_features: Optional[StringList] = None) -> str |
Applies substitution to feature definition. |
| validate_feature_lineage | validate_feature_lineage(features: list, source_table_types: dict) -> tuple |
Validates that all source columns referenced in |
| compute_direct_map | compute_direct_map(table_name: str, feature_name: str, source_column: str) -> None |
Directly maps a column from the source query to a feature column. |
| compute_sql_case | compute_sql_case(table_name: str, feature_name: str, sql_expression: str) -> None |
Computes a feature based on a SQL CASE or IF statement. |
| compute_sql_value | compute_sql_value(table_name: str, feature_name: str, sql_expression: str) -> None |
Computes a feature from an SQL scalar expression using the source JOIN. |
| compute_between | compute_between(table_name: str, feature_name: str, between_definition: str) -> None |
Compute a BETWEEN feature using SQL_CASE infrastructure. |
| compute_aggregate | compute_aggregate(table_name: str, feature_name: str, aggregate_definition: str) -> None |
Computes an aggregate feature from a related table. |
| compute_window | compute_window(table_name: str, feature_name: str, window_definition: str) -> None |
Computes a window function feature. |
| compute_json_extract | compute_json_extract(table_name: str, feature_name: str, json_definition: str) -> None |
Extracts a value from a JSON column. |
| compute_symbolic | compute_symbolic(table_name: str, feature_name: str, symbolic_expression: str) -> None |
Computes a feature based on a symbolic representation. |
Computes all defined features for a given FeatureCode and Package.