Introducing Tecton SDK 0.3
Tecton SDK version 0.3 has just been released and is now available. We highly recommend upgrading to version 0.3 to access new features and improvements. Note that version 0.2 of the SDK will continue to be supported until June 2022. For an installation guide, please refer to our Tecton CLI Setup and Upgrading Tecton SDK on Notebook Clusters docs. You can also read full release notes here.
New Features
Python Mode for On-Demand Feature Views
For use cases that require ultra fast request-time latency, the new mode=python
option offers 5-10x latency improvements in On-Demand Feature Views (e.g. from 100ms to 10ms). Previously, On-Demand Feature Views could only be defined using pandas (with the mode=pandas
option specified in the decorator). We recommend using python instead of pandas for any use case involving online retrieval.
When implementing a transformation with mode=python
, the inputs and outputs will be python dictionaries instead of pandas dataframes. Removing the overhead of creating dataframes allows for faster request-time execution.
Our documentation shows an example of a feature that is implemented with both mode=python
and mode=pandas
.
Delete keys from a Feature View
We are now making it very simple for the Feature Store to comply with right to be forgotten regulations, which is particularly relevant if your organization has operations in the European Union and is regulated by GDPR. When a customer asks for their private information to be removed, you can call the new FeatureView.delete_keys=()
method to delete feature values for specific user entities.
Previously, the only way to delete feature data was to remove the entire feature view. The new method allows you to remove data for specific keys without having to re-materialize an entire feature view. In addition to handling user data deletion requests, it can also be helpful in cleaning up erroneous data for specific keys.
See an in-depth 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 the pattern **/tests/*.py
.
If you currently use a different pattern to identify unit tests in your repository, you will need to move those tests to
**/tests/*.py
when upgrading to 0.3. Conversely, if you have tests in**/tests/*.py
that you do not want run duringtecton plan
, then you will need to move those tests to a different path or usetecton plan --skip-tests
.
See the unit testing guide for an example.
Improvements and Bug Fixes
For a full list of improvements and bug fixes, see full release notes here.