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',
 'period': '3600s',
 'offset': '90s',
 'execution_buffer': '0s'}}],
 'default': [{'table_name': 'GROCERYINVOICE',
 'feature_job_setting': {'blind_spot': '0s',
 'period': '3600s',
 'offset': '90s',
 'execution_buffer': '0s'}}]}

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",
...                 period="3600s",
...                 offset="90s",
...             ),
...         )
...     ]
... )