Skip to content

featurebyte.EventTable.initialize_default_feature_job_setting

Description

Initializes default feature job setting by performing an analysis on the table to streamline the process of setting Feature Job. This analysis relies on the presence of record creation timestamps in the source table, typically added when updating data in the warehouse. The analysis focuses on a recent time window, the past four weeks by default.

The Default Feature Job Setting establishes the default setting used by features that aggregate data in a table, ensuring consistency of the Feature Job Setting across features created by different team members. While it's possible to override the setting during feature declaration, using the Default Feature Job Setting simplifies the process of setting up the Feature Job Setting for each feature.

The motivation for defining a Feature Job Setting early is to minimize inconsistencies between offline and online feature values.

It is crucial to synchronize the frequency of batch feature computations with the frequency of source table refreshes, and to compute features after the source table refresh is fully completed. In addition, for historical serving to accurately replicate the production environment, it's essential to use data that was available at the historical points-in-time, considering the present or future latency of data. Latency of data refers to the time difference between the timestamp of an event and the timestamp at which the event data is accessible for ingestion. Any period during which data may be missing is referred to as a "blind spot".

To address these challenges, the Feature Job setting in FeatureByte captures information about the frequency of batch feature computations, the timing of the batch process, and the assumed blind spot for the data. This helps ensure consistency between offline and online feature values, and accurate historical serving that reflects the conditions present in the production environment.

Raises

  • InvalidSettingsError
    Default feature job setting is already initialized

Examples

Initialize default feature job setting for the event table

>>> event_table = catalog.get_table("GROCERYINVOICE")
>>> event_table.initialize_default_feature_job_setting()