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 workspace 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.