The Feature Development Workflow
This page outlines the steps you should follow when developing features. The description of each step includes words written in italics, which are names of Tecton tools.
Prerequisite
If you have not already done so, install the Tecton CLI on your local machine.
Step 1: Create a workspace
A workspace is an environment that contains a feature repository.
A feature repository stores feature and feature-related definitions. You will create a feature repository in the next step.
Create a workspace, using the Tecton Web UI or the Tecton CLI.
Step 2: Create a feature repository
A feature repository stores feature and feature-related definitions. A feature repository can be created using the Tecton CLI.
Step 3: Define features
Write feature definitions, which include logic that runs against data retrieved from external data sources. When writing these definitions, you use the declarative objects and classes in the Tecton SDK.
Step 4: Apply your changes (the feature definitions) to a repository and a workspace
When you run tecton apply
(from the Tecton CLI), the following occurs:
- The changes in your local repository, since the last run of
tecton apply
, are pushed to the corresponding remote repository that is managed by Tecton. - The changes are applied to the current workspace that is selected in your Tecton CLI. (To see the selected workspace, run
tecton show
). - Changes that have been applied become available on your Tecton instance; for example, feature pipelines run against applied features and write the results to the online and offline stores.
Step 5: Test your features
Before sending feature data to a model for training or inference, you should test that your features are working as expected. You can use the following testing methods.
Ad-hoc testing
To perform ad-hoc testing, read feature values from the online store and offline store, to confirm that the expected feature values are returned.
Unit testing
You can write unit tests that are executed on your feature repo when the Tecton CLI commands tecton plan
and tecton apply
are run. The unit tests will read feature values from the online store and offline store and compare those values against an expected result.
When running tecton apply
, changes will only be applied if the tests pass.
Step 6: Iterate on features
If your testing from the previous step has failed, or you otherwise want to iterate on your features, return to step 3 to update your code.
Step 7: Read Features for training and inference
After completing development of your features, you will read features from the offline and offline stores, that you can send to a model for training and inference.
The Tecton SDK is used read feature values from the offline store. The Tecton API is used to read feature values from the online store.
Step 8: Productionize features
After you have trained your model, and are getting ready to run or are currently running features in production, you should review the Pre and Post-Production Best Practices and other pages in the Productionizing Tecton section of the documentation, such as Monitoring and Cost Management.