You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/getting-started/installing-feast.md
+85-75Lines changed: 85 additions & 75 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,44 +8,102 @@ This installation guide will demonstrate three ways of installing Feast:
8
8
*[**Minikube**](installing-feast.md#minikube)**:** This installation has no external dependencies, but does not have a historical feature store installed. It allows users to quickly get a feel for Feast.
9
9
*[**Google Kubernetes Engine:**](installing-feast.md#google-kubernetes-engine) This guide installs a single cluster Feast installation on Google's GKE. It has Google Cloud specific dependencies like BigQuery, Dataflow, and Google Cloud Storage.
10
10
11
-
## Docker Compose
11
+
## Docker Compose\(Quickstart\)
12
12
13
13
### Overview
14
14
15
-
A docker compose file is provided to quickly test Feast with the official docker images. There is no hard dependency on GCP, unless batch serving is required.
15
+
A docker compose file is provided to quickly test Feast with the official docker images. There is no hard dependency on GCP, unless batch serving is required. Once you have set up Feast using Docker Compose, you will be able to:
16
16
17
-
*Define and register feature set
18
-
*Feature ingestion
17
+
*Create, register, and manage feature sets
18
+
*Ingest feature data into Feast
19
19
* Retrieve features for online serving
20
-
* Updating the feature set
21
20
22
-
The docker compose setup uses Direct Runner for the Apache Beam jobs.
21
+
{% hint style="info" %}
22
+
The docker compose setup uses Direct Runner for the Apache Beam jobs. Running Beam with the Direct Runner means it does not need a dedicated runner like Flink or Dataflow, but this comes at the cost of performance. We recommend the use of a full runner when running Feast with very large workloads.
23
+
{% endhint %}
23
24
24
25
### 0. Requirements
25
26
26
-
1.[Docker compose](https://docs.docker.com/compose/install/) should be installed.
27
-
2. TCP ports 6565, 6566, 8888, and 9094 are not in use. Otherwise, modify the port mappings in `infra/docker-compose/docker-compose.yml` to use unoccupied ports.
28
-
3.\(optional\) For batch serving you will also need a [GCP service account key](https://cloud.google.com/iam/docs/creating-managing-service-account-keys) that has access to GCS and BigQuery. Port 6567 will be used for the batch serving endpoint.
27
+
*[Docker compose](https://docs.docker.com/compose/install/) should be installed.
28
+
* TCP ports 6565, 6566, 8888, and 9094 should not be in use. Otherwise, modify the port mappings in `infra/docker-compose/docker-compose.yml` to use unoccupied ports.
29
+
*\(for batch serving only\) For batch serving you will also need a [GCP service account key](https://cloud.google.com/iam/docs/creating-managing-service-account-keys) that has access to GCS and BigQuery. Port 6567 will be used for the batch serving endpoint.
30
+
*\(for batch serving only\)[Google Cloud SDK ](https://cloud.google.com/sdk/install)installed, authenticated, and configured to the project you will use.
31
+
32
+
### 1. Step-by-step guide \(Online serving only\)
33
+
34
+
Clone the [Feast repository](https://github.com/gojek/feast/) and navigate to the `docker-compose` sub-directory:
### 2. Step-by-step guide \(Batch and online serving\)
59
+
60
+
Clone the [Feast repository](https://github.com/gojek/feast/) and navigate to the `docker-compose` sub-directory:
61
+
62
+
```bash
63
+
git clone https://github.com/gojek/feast.git && \
64
+
cd feast &&export FEAST_HOME_DIR=$(pwd)&& \
65
+
cd infra/docker-compose
66
+
```
67
+
68
+
Create a [service account ](https://cloud.google.com/iam/docs/creating-managing-service-accounts)from the GCP console and copy it to the `gcp-service-accounts` folder:
Create a Google Cloud Storage bucket. Make sure that your service account above has read/write permissions to this bucket:
75
+
76
+
```bash
77
+
gsutil mb gs://my-feast-staging-bucket
78
+
```
79
+
80
+
Make a copy of the `.env.sample` file:
29
81
30
-
### 1. Step-by-step guide \(Online serving\)
82
+
```bash
83
+
cp .env.sample .env
84
+
```
31
85
32
-
1. Navigate to `infra/docker-compose`.
33
-
2. Copy `.env.sample` to `.env`.
34
-
3.`docker-compose up -d`
35
-
4. A Jupyter Notebook server should be accessible via `localhost:8888`
36
-
5. Please wait a minute or two for the Feast services to be ready before running the notebook. You will know that the services are ready when port `6565` and `6566` starts listening.
86
+
Customize the `.env` file based on your environment. At the very least you have to modify:
87
+
88
+
***FEAST\_CORE\_GCP\_SERVICE\_ACCOUNT\_KEY:** This should be your service account file name without the .json extension.
89
+
***FEAST\_BATCH\_SERVING\_GCP\_SERVICE\_ACCOUNT\_KEY:** This should be your service account file name without the .json extension.
90
+
***FEAST\_JUPYTER\_GCP\_SERVICE\_ACCOUNT\_KEY:** This should be your service account file name without the .json extension.
91
+
***FEAST\_JOB\_STAGING\_LOCATION:** Google Cloud Storage bucket that Feast will use to stage data exports and batch retrieval requests.
92
+
93
+
We will also need to customize the `bq-store.yml` file inside `infra/docker-compose/serving/` to configure the BigQuery storage configuration as well as the feature sets that the store subscribes to. At a minimum you will need to set:
94
+
95
+
***project\_id:** This is you GCP project id.
96
+
***dataset\_id:** This is the name of the BigQuery dataset that tables will be created in. Each feature set will have one table in BigQuery.
97
+
98
+
Start Feast:
99
+
100
+
```javascript
101
+
docker-compose -f docker-compose.yml-f docker-compose.batch.yml up -d
102
+
```
37
103
38
-
### 2. Step-by-step guide \(Batch serving\)
104
+
A Jupyter notebook is now available to use Feast:
39
105
40
-
1. Navigate to `infra/docker-compose`.
41
-
2. Copy `.env.sample` to `.env`.
42
-
3. Copy your GCP account service key\(s\) to `infra/docker-compose/gcp-service-accounts`.
43
-
4. Modify the value of `FEAST_<SERVICE_NAME>_GCP_SERVICE_ACCOUNT_KEY` in your `.env` file. It should be the json file name without extension.
44
-
5. Modify the value of `infra/docker-compose/serving/bq-store.yml`. Alternatively, you can also point to a different store configuration file by modifying `FEAST_BATCH_STORE_CONFIG` in your `.env` file.
45
-
6.`docker-compose -f docker-compose.yml -f docker-compose.batch.yml up -d`
46
-
7. A jupyter notebook server should be accessible via `localhost:8888`
47
-
8. Please wait a minute or two for the Feast services to be ready before running the notebook. You will know that the services are ready when port `6565` and `6567` starts listening.
48
-
9. When you are done, run `docker-compose -f docker-compose.yml -f docker-compose.batch.yml down` to shutdown the services.
3.[Helm](https://helm.sh/3)\(2.16.0 or greater\) installed on your local machine with Tiller installed in your cluster.
240
+
3.[Helm](https://helm.sh/3)\(2.16.0 or greater\) installed on your local machine with Tiller installed in your cluster. Helm 3 has not been tested yet.
207
241
208
242
### 1. Set up GCP
209
243
@@ -386,29 +420,5 @@ feast config set core_url ${FEAST_CORE_URL}
386
420
feast config set serving_url ${FEAST_ONLINE_SERVING_URL}
387
421
```
388
422
389
-
Make sure that both Feast Core and Feast Serving are connected:
0 commit comments