Tecton 0.3 was released in February 2022. The following release notes provide information about Tecton 0.3.
Python Mode for On-Demand Feature Views
On-demand Feature Views can now be used with
mode=python transformations. Compared to the existing
mode=pandas option, On Demand Feature Views with
mode=python will deliver significantly faster request-time latency.
When implementing a transformation with
mode=python, the inputs and outputs will be python dictionaries instead of dataframes. Removing the overhead of creating dataframes allows for faster request-time execution. See an implementation example in the documentation.
We recommend using python instead of pandas in most cases.
Delete keys from a Feature View
Previously, the only way to delete feature data was to remove the entire feature view. The new
delete_keys() method for Feature Views makes it simple to delete feature values for specific keys from a materialized Feature View. This capability can be helpful for handling user data deletion requests or cleaning up erroneous data.
See a usage example in the key deletion guide.
New unit testing framework for Feature Views
Previously, unit testing with Tecton required implementing your own test harness using "plan hooks". The new framework makes it much simpler to get started unit testing feature views, especially for Spark transformations.
tecton apply, or
tecton test, the Tecton CLI will use
pytest to execute any files matching matching the pattern
See the unit testing guide for an example.
Improvements and Bug Fixes
Adds supports for Python 3.9 and Mac M1 native builds See the Tecton CLI setup
Improved support for release automation with
- Protect critical objects from accidental deletion with the
applya previously validated
planoutput based on the plan id
tecton restorenow shows the SDK version for that apply
See the CI/CD integration guide for more detail.
Warnings will now be shown for each object modified or created during
tecton plan. These warnings help promote best practices in your feature repo, but do not block applying the changes.
Fixed data input filtering for aggregate
Prior to the fix, aggregate Feature Views
run() filter inputs down to feature_start_time and feature_end_time window. This may result in inaccurately output because the aggregation feature result may require input data from before feature_start_time to perform a correct computation. The fix read just the input filter to use the correct filter window relative to aggregation window size.
- Filters out hidden directories from
tecton testglobbing (to support
.toxand any other tool that places virtualenvs into the source directory)
- Fixes a bug in
tecton_spark_jarsfixture did not exist.
- Fixes a bug in
FeatureService.get_historical_features()where features that were excluded via a
FeaturesConfigwere not properly filtered out of training datasets.