Skip to content

Commit

Permalink
GitBook: [#322] Redis
Browse files Browse the repository at this point in the history
  • Loading branch information
felixwang9817 authored and gitbook-bot committed Oct 29, 2021
1 parent 47998b9 commit 3e42fb3
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 15 deletions.
16 changes: 8 additions & 8 deletions docs/getting-started/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,19 @@ In this tutorial we will

You can run this tutorial in Google Colab or run it on your localhost, following the guided steps below.

![](../.gitbook/assets/colab_logo\_32px.png)[**Run in Google Colab**](https://colab.research.google.com/github/feast-dev/feast/blob/master/examples/quickstart/quickstart.ipynb)****
![](../.gitbook/assets/colab\_logo\_32px.png)[**Run in Google Colab**](https://colab.research.google.com/github/feast-dev/feast/blob/master/examples/quickstart/quickstart.ipynb)****

## Overview

In this tutorial, we use feature stores to generate training data and power online model inference for a ride-sharing driver satisfaction prediction model. Feast solves several common issues in this flow:
In this tutorial, we use feature stores to generate training data and power online model inference for a ride-sharing driver satisfaction prediction model. Feast solves several common issues in this flow: 

1. **Training-serving skew and complex data joins:** Feature values often exist across multiple tables. Joining these datasets can be complicated, slow, and error-prone.
* Feast joins these tables with battle-tested logic that ensures _point-in-time_ correctness so future feature values do not leak to models.
* _\*Upcoming_: Feast alerts users to offline / online skew with data quality monitoring.
2. **Online feature availability:** At inference time, models often need access to features that aren't readily available and need to be precomputed from other datasources.
* _\*Upcoming_: Feast alerts users to offline / online skew with data quality monitoring. 
2. **Online feature availability:** At inference time, models often need access to features that aren't readily available and need to be precomputed from other datasources. 
* Feast manages deployment to a variety of online stores (e.g. DynamoDB, Redis, Google Cloud Datastore) and ensures necessary features are consistently _available_ and _freshly computed_ at inference time.
3. **Feature reusability and model versioning:** Different teams within an organization are often unable to reuse features across projects, resulting in duplicate feature creation logic. Models have data dependencies that need to be versioned, for example when running A/B tests on model versions.
* Feast enables discovery of and collaboration on previously used features and enables versioning of sets of features (via _feature services_).
* Feast enables discovery of and collaboration on previously used features and enables versioning of sets of features (via _feature services_). 
* Feast enables feature transformation so users can re-use transformation logic across online / offline usecases and across models.

## Step 1: Install Feast
Expand All @@ -40,7 +40,7 @@ pip install feast

## Step 2: Create a feature repository

Bootstrap a new feature repository using `feast init` from the command line.
Bootstrap a new feature repository using `feast init` from the command line. 

{% tabs %}
{% tab title="Bash" %}
Expand Down Expand Up @@ -117,7 +117,7 @@ driver_hourly_stats_view = FeatureView(
{% endtab %}
{% endtabs %}

![Demo parquet data: data/driver_stats.parquet](../.gitbook/assets/screen-shot-2021-08-23-at-2.35.18-pm.png)
![Demo parquet data: data/driver\_stats.parquet](../.gitbook/assets/screen-shot-2021-08-23-at-2.35.18-pm.png)

The key line defining the overall architecture of the feature store is the **provider**. This defines where the raw data exists (for generating training data & feature values for serving), and where to materialize feature values to in the online store (for serving).

Expand All @@ -127,7 +127,7 @@ Valid values for `provider` in `feature_store.yaml` are:
* gcp: use BigQuery / Google Cloud Datastore
* aws: use Redshift / DynamoDB

A custom setup (e.g. using the built-in support for Redis) can be made by following Creating a custom provider
To use a custom provider, see [adding a custom provider](../how-to-guides/creating-a-custom-provider.md). There are also several plugins maintained by the community: [Azure](https://github.com/Azure/feast-azure), [Postgres](https://github.com/nossrannug/feast-postgres), and [Hive](https://github.com/baineng/feast-hive). Note that the choice of provider gives sensible defaults but does not enforce those choices; for example, if you choose the AWS provider, you can use [Redis](../reference/online-stores/redis.md) as an online store alongside Redshift as an offline store.

## Step 3: Register feature definitions and deploy your feature store

Expand Down
15 changes: 10 additions & 5 deletions docs/how-to-guides/feast-gcp-aws/install-feast.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,24 @@

Install Feast using [pip](https://pip.pypa.io):

```text
```
pip install feast
```

Install Feast with GCP dependencies \(required when using BigQuery or Firestore\):
Install Feast with GCP dependencies (required when using BigQuery or Firestore):

```text
```
pip install 'feast[gcp]'
```

Install Feast with AWS dependencies \(required when using Redshift or DynamoDB\):
Install Feast with AWS dependencies (required when using Redshift or DynamoDB):

```text
```
pip install 'feast[aws]'
```

Install Feast with Redis dependencies (required when using Redis, either through AWS Elasticache or independently):

```
pip install 'feast[redis]'
```
4 changes: 2 additions & 2 deletions docs/reference/online-stores/redis.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
The [Redis](https://redis.io) online store provides support for materializing feature values into Redis.

* Both Redis and Redis Cluster are supported
* The data model used to store feature values in Redis is described in more detail [here](../../specs/online_store_format.md).
* The data model used to store feature values in Redis is described in more detail [here](../../specs/online\_store\_format.md).

## Examples

Expand Down Expand Up @@ -36,4 +36,4 @@ online_store:
```
{% endcode %}
Configuration options are available [here](https://rtd.feast.dev/en/master/#feast.repo_config.RedisOnlineStoreConfig).
Configuration options are available [here](https://rtd.feast.dev/en/master/#feast.infra.online\_stores.redis.RedisOnlineStoreConfig).

0 comments on commit 3e42fb3

Please sign in to comment.