class tecton.declarative.data_source.SparkBatchConfig(data_source_function, data_delay=datetime.timedelta(0), supports_time_filtering=False)

Configuration used to define a batch source using a Data Source Function.

The SparkBatchConfig class is used to configure a batch source using a user defined Data Source Function.

This class is used as an input to a BatchSource’s parameter batch_config. This class is not a Tecton Object: it is a grouping of parameters. Declaring this class alone will not register a data source. Instead, declare as part of BatchSource that takes this configuration class instance as a parameter.

Do not instantiate this class directly. Use tecton.declarative.spark_batch_config instead.



Instantiates a new SparkBatchConfig.

__init__(data_source_function, data_delay=datetime.timedelta(0), supports_time_filtering=False)

Instantiates a new SparkBatchConfig.

  • data_source_function (Union[Callable[[SparkSession], DataFrame], Callable[[SparkSession, FilterContext], DataFrame]]) – User defined Data Source Function that takes in a SparkSession and an optional tecton.FilterContext, if supports_time_filtering=True. Returns a DataFrame.

  • data_delay (timedelta) – By default, incremental materialization jobs run immediately at the end of the batch schedule period. This parameter configures how long they wait after the end of the period before starting, typically to ensure that all data has landed. For example, if a feature view has a batch_schedule of 1 day and one of the data source inputs has a data_delay of 1 hour, then incremental materialization jobs will run at 01:00 UTC.

  • supports_time_filtering (bool) – When set to True, the Data Source Function must take the filter_context parameter and implement time filtering logic. supports_time_filtering must be set to True if <data source>.get_dataframe() is called with start_time or end_time. supports_time_filtering must also be set to True if using tecton.declarative.FilteredSource with a Data Source when defining a FeatureView. The FeatureView will call the Data Source Function with the tecton.FilterContext, which has the start_time and end_time set.


A SparkBatchConfig class instance.