Tecton 0.3
Tecton 0.3 was released in February 2022. The following release notes provide information about Tecton 0.3.
New Features
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.
When running tecton plan
, tecton apply
, or tecton test
, the Tecton CLI will use pytest
to execute any files matching matching the pattern **/tests/*.py
.
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 tecton apply
- Protect critical objects from accidental deletion with the
prevent_destroy
tag apply
a previously validatedplan
output based on the plan idtecton restore
now shows the SDK version for that apply
See the CI/CD integration guide for more detail.
Warnings during tecton plan
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 aggregateFeatureView.run()
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.
Patch Updates
0.3.8
- Improves error message handling on permission errors
0.3.7
- Adds support for instance_availability=SPOT_WITH_FALLBACK to EMRClusterConfig.
0.3.5
- Fixes a bug in a built-in sliding window aggregation.
0.3.4
- Fixes a bug in
tecton login
when switching between clusters.
0.3.2
- Filters out hidden directories from
tecton test
globbing (to support.tox
and any other tool that places virtualenvs into the source directory) - Fixes a bug in
tecton_pytest_spark_session
where thetecton_spark_jars
fixture did not exist.
0.3.1
- Fixes a bug in
FeatureService.get_historical_features()
where features that were excluded via aFeaturesConfig
were not properly filtered out of training datasets.