Skip to content

featurebyte.TableFeatureJobSetting

class TableFeatureJobSetting(
*,
table_name: str,
feature_job_setting: FeatureJobSetting
)

Description

The TableFeatureJobSetting object serves as a link between a table and a specific feature job setting configuration. It is utilized when creating a new version of a feature that requires different configurations for feature job settings. The table_feature_job_settings parameter takes a list of these configurations. For each configuration, the TableFeatureJobSetting object establishes the relationship between the table involved and the corresponding feature job setting.

Parameters

  • table_name: str
    Name of the table to which the feature job setting applies feature_job_setting.

  • feature_job_setting: FeatureJobSetting
    Feature class that contains specific settings that should be applied to feature jobs that involve time aggregate operations and use timestamps from the table specified in the table_name parameter.

Examples

Check feature job setting of this feature first:

>>> feature = catalog.get_feature("InvoiceAmountAvg_60days")
>>> feature.info()["table_feature_job_setting"]
{'this': [{'table_name': 'GROCERYINVOICE',
 'feature_job_setting': {'blind_spot': '0s',
 'frequency': '3600s',
 'time_modulo_frequency': '90s'}}],
 'default': [{'table_name': 'GROCERYINVOICE',
 'feature_job_setting': {'blind_spot': '0s',
 'frequency': '3600s',
 'time_modulo_frequency': '90s'}}]}

Create a new feature with a different feature job setting:

>>> new_feature = feature.create_new_version(
...   table_feature_job_settings=[
...     fb.TableFeatureJobSetting(
...       table_name="GROCERYINVOICE",
...       feature_job_setting=fb.FeatureJobSetting(
...         blind_spot="60s",
...         frequency="3600s",
...         time_modulo_frequency="90s",
...       )
...     )
...   ]
... )