The Feast CLI comes bundled with the Feast Python package. It is immediately available after installing Feast.
Usage: feast [OPTIONS] COMMAND [ARGS]...
Feast CLI
For more information, see our public docs at https://docs.feast.dev/
Options:
-c, --chdir TEXT Switch to a different feature repository directory before
executing the given subcommand.
--help Show this message and exit.
Commands:
apply Create or update a feature store deployment
entities Access entities
feature-views Access feature views
init Create a new Feast repository
materialize Run a (non-incremental) materialization job to...
materialize-incremental Run an incremental materialization job to ingest...
registry-dump Print contents of the metadata registry
teardown Tear down deployed feature store infrastructure
version Display Feast SDK version
The Feast CLI provides one global top-level option that can be used with other commands
chdir (-c, --chdir)
This command allows users to run Feast CLI commands in a different folder from the current working directory.
feast -c path/to/my/feature/repo apply
Creates or updates a feature store deployment
feast apply
What does Feast apply do?
- Feast will scan Python files in your feature repository and find all Feast object definitions, such as feature views, entities, and data sources.
- Feast will validate your feature definitions (e.g. for uniqueness of features)
- Feast will sync the metadata about Feast objects to the registry. If a registry does not exist, then it will be instantiated. The standard registry is a simple protobuf binary file that is stored on disk (locally or in an object store).
- Feast CLI will create all necessary feature store infrastructure. The exact infrastructure that is deployed or configured depends on the
provider
configuration that you have set infeature_store.yaml
. For example, settinglocal
as your provider will result in asqlite
online store being created.
{% hint style="warning" %}
feast apply
(when configured to use cloud provider like gcp
or aws
) will create cloud infrastructure. This may incur costs.
{% endhint %}
List all registered entities
feast entities list
Options:
--tags TEXT Filter by tags (e.g. --tags 'key:value' --tags 'key:value,
key:value, ...'). Items return when ALL tags match.
NAME DESCRIPTION TYPE
driver_id driver id ValueType.INT64
List all registered feature views
feast feature-views list
Options:
--tags TEXT Filter by tags (e.g. --tags 'key:value' --tags 'key:value,
key:value, ...'). Items return when ALL tags match.
NAME ENTITIES TYPE
driver_hourly_stats {'driver'} FeatureView
Creates a new feature repository
feast init my_repo_name
Creating a new Feast repository in /projects/my_repo_name.
.
├── data
│ └── driver_stats.parquet
├── example.py
└── feature_store.yaml
It's also possible to use other templates
feast init -t gcp my_feature_repo
or to set the name of the new project
feast init -t gcp my_feature_repo
Load data from feature views into the online store between two dates
feast materialize 2020-01-01T00:00:00 2022-01-01T00:00:00
Load data for specific feature views into the online store between two dates
feast materialize -v driver_hourly_stats 2020-01-01T00:00:00 2022-01-01T00:00:00
Materializing 1 feature views from 2020-01-01 to 2022-01-01
driver_hourly_stats:
100%|██████████████████████████| 5/5 [00:00<00:00, 5949.37it/s]
Load data from feature views into the online store, beginning from either the previous materialize
or materialize-incremental
end date, or the beginning of time.
feast materialize-incremental 2022-01-01T00:00:00
Tear down deployed feature store infrastructure
feast teardown
Print the current Feast version
feast version