{"id":20408719,"url":"https://github.com/feast-dev/feast-workshop","last_synced_at":"2025-10-25T00:09:14.048Z","repository":{"id":38196101,"uuid":"486680978","full_name":"feast-dev/feast-workshop","owner":"feast-dev","description":"A workshop with several modules to help learn Feast, an open-source feature store","archived":false,"fork":false,"pushed_at":"2025-01-09T18:38:57.000Z","size":7309,"stargazers_count":87,"open_issues_count":5,"forks_count":57,"subscribers_count":10,"default_branch":"main","last_synced_at":"2025-03-29T07:09:24.381Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://feast.dev","language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feast-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-28T17:04:26.000Z","updated_at":"2025-02-19T03:41:53.000Z","dependencies_parsed_at":"2024-05-02T04:42:07.871Z","dependency_job_id":"f2256c0d-b980-4b99-a0d9-44745d6845e4","html_url":"https://github.com/feast-dev/feast-workshop","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feast-dev%2Ffeast-workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feast-dev%2Ffeast-workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feast-dev%2Ffeast-workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feast-dev%2Ffeast-workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feast-dev","download_url":"https://codeload.github.com/feast-dev/feast-workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305935,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-15T05:35:49.845Z","updated_at":"2025-10-25T00:09:13.971Z","avatar_url":"https://github.com/feast-dev.png","language":"Jupyter Notebook","readme":"\n\n## \u003cimg src=\"images/feast_icon.png\" width=20\u003e\u0026nbsp; Workshop: Learning Feast \n\nThis workshop aims to teach users about [Feast](http://feast.dev), an open-source feature store. \n\nWe explain concepts \u0026 best practices by example, and also showcase how to address common use cases.\n\n### What is Feast?\nFeast is an operational system for managing and serving machine learning features to models in production. It can serve features from a low-latency online store (for real-time prediction) or from an offline store (for  batch scoring). \n\n\u003cimg src=\"images/feast_marchitecture.png\" width=750\u003e\n\n### What is Feast not?\n- Feast does not orchestrate data pipelines (e.g. batch / stream transformation or materialization jobs), but provides a framework to integrate with adjacent tools like dbt, Airflow, and Spark.\n- Feast also does not solve other commonly faced issues like data quality, experiment management, etc. \n\nSee more details at [What Feast is not](https://docs.feast.dev/#what-feast-is-not).\n\n### Why Feast?\nFeast solves several common challenges teams face:\n1. Lack of feature reuse across teams\n2. Complex point-in-time-correct data joins for generating training data\n3. Difficulty operationalizing features for online inference while minimizing training / serving skew\n\n### Pre-requisites\nThis workshop assumes you have the following installed:\n- A local development environment that supports running Jupyter notebooks (e.g. VSCode with Jupyter plugin)\n- Python 3.8+\n- pip\n  - Docker \u0026 Docker Compose (e.g. `brew install docker docker-compose`)\n- **Module 0 pre-requisites**:\n  - Terraform ([docs](https://learn.hashicorp.com/tutorials/terraform/install-cli#install-terraform))\n  - Either AWS or GCP setup:\n    - AWS\n      - AWS CLI\n      - An AWS account setup with credentials via `aws configure` (e.g see [AWS credentials quickstart](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds))\n    - GCP\n      - GCP account\n      - `gcloud` CLI\n- **Module 1 pre-requisites**:\n  - Java 11 (for Spark, e.g. `brew install java11`)\n\nSince we'll be learning how to leverage Feast in CI/CD, you'll also need to fork this workshop repository.\n\n**Caveats** \n- M1 Macbook development is untested with this flow. See also [How to run / develop for Feast on M1 Macs](https://github.com/feast-dev/feast/issues/2105).\n- Windows development has only been tested with WSL. You will need to follow this [guide](https://docs.docker.com/desktop/windows/wsl/) to have Docker play nicely.\n\n## Modules\n*See also: [Feast quickstart](https://docs.feast.dev/getting-started/quickstart), [Feast x Great Expectations tutorial](https://docs.feast.dev/tutorials/validating-historical-features)*\n\nThese are meant mostly to be done in order, with examples building on previous concepts.\n\n| Time (min) | Description                                                                      | Module\u0026nbsp;\u0026nbsp;\u0026nbsp;                                                                               |\n| :--------: | :------------------------------------------------------------------------------- | :----------------------------------------------------------------------------------------------------- |\n|   30-45    | Setting up Feast projects \u0026 CI/CD + powering batch predictions                   | [Module 0](module_0/README.md)                                                                         |\n|   15-20    | Streaming ingestion \u0026 online feature retrieval with Kafka, Spark, Airflow, Redis | [Module 1](module_1/README.md)                                                                         |\n|   10-15    | Real-time feature engineering with on demand transformations                     | [Module 2](module_2/README.md)                                                                         |\n|     30     | Orchestrated batch/stream transformations using dbt + Airflow with Feast         | [Module 3 (Snowflake)](module_3_sf/README.md)                                                          |\n|     30     | (WIP) Orchestrated batch/stream transformations using dbt + Airflow with Feast   | [Module 3 (Databricks)](module_3_db/README.md)                                                         |\n|     30     | Book recommender system with dbt + Airflow + Feast                               | [Feast x Book Recommendations (on Databricks)](https://github.com/tecton-ai/book-recsys-apply-workshop/tree/main/feast_repo) |\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeast-dev%2Ffeast-workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeast-dev%2Ffeast-workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeast-dev%2Ffeast-workshop/lists"}