The objective of this tutorial is to build a model that predicts if a driver will complete a trip based on a number of features ingested into Feast. During this tutorial you will:
- Deploy the infrastructure for a feature store (using an ARM template)
- Register features into a central feature registry hosted on Blob Storage
- Consume features from the feature store for training and inference
For this tutorial you will require:
- An Azure subscription.
- Working knowledge of Python and ML concepts.
- Basic understanding of Azure Machine Learning - using notebooks, etc.
We have created an ARM template that deploys and configures all the infrastructure required to run feast in Azure. This makes the set-up very simple - select the Deploy to Azure button below.
The only 2 required parameters during the set-up are:
- Admin Password for the the Dedicated SQL Pool being deployed.
- Principal ID this is to set the storage permissions for the feast registry store. You can find the value for this by opening Cloud Shell and run the following command:
# If you are using Azure portal CLI or Azure CLI 2.37.0 or above
az ad signed-in-user show --query id -o tsv
# If you are using Azure CLI below 2.37.0
az ad signed-in-user show --query objectId -o tsvYou may want to first make sure your subscription has registered
Microsoft.Synapse,Microsoft.SQL,Microsoft.NetworkandMicrosoft.Computeproviders before running the template below, as some of them may require explicit registration. If you are on a Free Subscription, you will not be able to deploy the workspace part of this tutorial.
The ARM template will not only deploy the infrastructure but it will also:
- install feast with the azure provider on the compute instance
- set the Registry Blob path, Dedicated SQL Pool and Redis cache connection strings in the Azure ML default Keyvault.
☕ It can take up to 20 minutes for the Redis cache to be provisioned.
In the Azure Machine Learning Studio, navigate to the left-hand menu and select Compute. You should see your compute instance running, select Terminal
In the terminal you need to clone this GitHub repo:
git clone https://github.com/feast-dev/feastIn the Azure ML Studio, select Notebooks from the left-hand menu and then open the Loading feature values into feature store notebook.Work through this notebook.
💁Ensure the Jupyter kernel is set to Python 3.8 - AzureML
In the Azure ML Studio, select Notebooks from the left-hand menu and then open the register features into your feature registry notebook. Work through this notebook.
💁Ensure the Jupyter kernel is set to Python 3.8 - AzureML
In the Azure ML Studio, select Notebooks from the left-hand menu and then open the train and deploy a model using feast notebook. Work through this notebook.
💁Ensure the Jupyter kernel is set to Python 3.8 - AzureML
If problems are encountered during model training stage, create a new cell and rexecute
!pip install scikit-learn==0.22.1. Upon completion, restart the Kernel and start over.
- If you are on a free tier instance, you will not be able to deploy the azure deployment because the azure workspace requires VCPUs and the free trial subscription does not have a quota.
- The workaround is to remove the
Microsoft.MachineLearningServices/workspaces/computesresource fromfs_synapse_azure_deploy.jsonand setting up the environment locally.- After deployment, find your
Azure SQL Poolsecrets by going toSubscriptions-><Your Subscription>->Resource Group->Key Vaultand giving your account admin permissions to the keyvault. Retrieve theFEAST-REGISTRY-PATH,FEAST-OFFLINE-STORE-CONN, andFEAST-ONLINE-STORE-CONNsecrets to use in your local environment. - In your local environment, you will need to install the azure cli and login to the cli using
az login. - After everything is setup, you should be able to work through the first 2 tutorial notebooks without any errors (The 3rd notebook requires Azure workspace resources).
- After deployment, find your


