A feature repository is a directory that contains the configuration of the feature store and individual features. This configuration is written as code (Python/YAML) and it's highly recommended that teams track it centrally using git. See Feature Repository for a detailed explanation of feature repositories.
The easiest way to create a new feature repository to use
feast init command:
feast initCreating a new Feast repository in /<...>/tiny_pika.
feast init -t gcpCreating a new Feast repository in /<...>/tiny_pika.
feast init -t awsAWS Region (e.g. us-west-2): ...Redshift Cluster ID: ...Redshift Database Name: ...Redshift User Name: ...Redshift S3 Staging Location (s3://*): ...Redshift IAM Role for S3 (arn:aws:iam::*:role/*): ...Should I upload example data to Redshift (overwriting 'feast_driver_hourly_stats' table)? (Y/n):Creating a new Feast repository in /<...>/tiny_pika.
init command creates a Python file with feature definitions, sample data, and a Feast configuration file for local development:
$ tree.└── tiny_pika├── data│ └── driver_stats.parquet├── example.py└── feature_store.yaml1 directory, 3 files
Enter the directory:
# Replace "tiny_pika" with your auto-generated dir namecd tiny_pika
You can now use this feature repository for development. You can try the following:
feast apply to apply these definitions to Feast.
Edit the example feature definitions in
example.py and run
feast apply again to change feature definitions.
Initialize a git repository in the same directory and checking the feature repository into version control.