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
fix: Fix push sources and add docs / tests pushing via the python feature server (#2561)
* bug: Fixing push API endpoint to include a way to specify whether the registry should be looked up from a cache. Adding docs for feature server usage
Signed-off-by: Danny Chiao <danny@tecton.ai>
* fix
Signed-off-by: Danny Chiao <danny@tecton.ai>
* prune out unneeded fields in push source
Signed-off-by: Danny Chiao <danny@tecton.ai>
* prune out unneeded fields in push source
Signed-off-by: Danny Chiao <danny@tecton.ai>
* prune out unneeded fields in push source
Signed-off-by: Danny Chiao <danny@tecton.ai>
* fix comment
Signed-off-by: Danny Chiao <danny@tecton.ai>
* fix comment
Signed-off-by: Danny Chiao <danny@tecton.ai>
* fix comment
Signed-off-by: Danny Chiao <danny@tecton.ai>
* fix comment
Signed-off-by: Danny Chiao <danny@tecton.ai>
* fix generator
Signed-off-by: Danny Chiao <danny@tecton.ai>
* add data source creator teardown
Signed-off-by: Danny Chiao <danny@tecton.ai>
* add data source creator teardown
Signed-off-by: Danny Chiao <danny@tecton.ai>
* update push source to alpha
Signed-off-by: Danny Chiao <danny@tecton.ai>
* lint
Signed-off-by: Danny Chiao <danny@tecton.ai>
* lint
Signed-off-by: Danny Chiao <danny@tecton.ai>
* lint
Signed-off-by: Danny Chiao <danny@tecton.ai>
* lint
Signed-off-by: Danny Chiao <danny@tecton.ai>
* lint
Signed-off-by: Danny Chiao <danny@tecton.ai>
Copy file name to clipboardexpand all lines: docs/reference/data-sources/push.md
+6-6
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,7 @@
1
1
# Push source
2
2
3
+
**Warning**: This is an _experimental_ feature. It's intended for early testing and feedback, and could change without warnings in future releases.
4
+
3
5
## Description
4
6
5
7
Push sources allow feature values to be pushed to the online store in real time. This allows fresh feature values to be made available to applications. Push sources supercede the
Copy file name to clipboardexpand all lines: docs/reference/feature-servers/go-feature-retrieval.md
+1-1
Original file line number
Diff line number
Diff line change
@@ -2,7 +2,7 @@
2
2
3
3
## Overview
4
4
5
-
The Go Feature Retrieval component is a Go implementation of the core feature serving logic, embedded in the Python SDK. It supports retrieval of feature references, feature services, and on demand feature views, and can be used either through the Python SDK or the [Python feature server](local-feature-server.md).
5
+
The Go Feature Retrieval component is a Go implementation of the core feature serving logic, embedded in the Python SDK. It supports retrieval of feature references, feature services, and on demand feature views, and can be used either through the Python SDK or the [Python feature server](python-feature-server.md).
6
6
7
7
Currently, this component only supports online serving and does not have an offline component including APIs to create feast feature repositories or apply configuration to the registry to facilitate online materialization. It also does not expose its own dedicated cli to perform feast actions. Furthermore, this component is only meant to expose an online serving API that can be called through the python SDK to facilitate faster online feature retrieval.
Copy file name to clipboardexpand all lines: docs/reference/feature-servers/python-feature-server.md
+54-3
Original file line number
Diff line number
Diff line change
@@ -1,15 +1,23 @@
1
-
# Local feature server
1
+
# Python feature server
2
2
3
3
## Overview
4
4
5
-
The local feature server is an HTTP endpoint that serves features with JSON I/O. This enables users to get features from Feast using any programming language that can make HTTP requests. A [remote feature server](../alpha-aws-lambda-feature-server.md) on AWS Lambda is also available. A remote feature server on GCP Cloud Run is currently being developed.
5
+
The feature server is an HTTP endpoint that serves features with JSON I/O. This enables users to write + read features from Feast online stores using any programming language that can make HTTP requests.
6
6
7
7
## CLI
8
8
9
-
There is a new CLI command that starts the server: `feast serve`. By default Feast uses port 6566; the port be overridden by a `--port` flag.
9
+
There is a CLI command that starts the server: `feast serve`. By default, Feast uses port 6566; the port be overridden by a `--port` flag.
10
+
11
+
## Deploying as a service
12
+
13
+
One can also deploy a feature server by building a docker image that bundles in the project's `feature_store.yaml`. See [helm chart](https://github.com/feast-dev/feast/blob/master/infra/charts/feast-python-server) for example.
14
+
15
+
A [remote feature server](../alpha-aws-lambda-feature-server.md) on AWS Lambda is available. A remote feature server on GCP Cloud Run is currently being developed.
16
+
10
17
11
18
## Example
12
19
20
+
### Initializing a feature server
13
21
Here's the local feature server usage example with the local template:
14
22
15
23
```bash
@@ -41,6 +49,7 @@ INFO: Uvicorn running on http://127.0.0.1:6566 (Press CTRL+C to quit)
41
49
09/10/2021 10:42:11 AM INFO:Uvicorn running on http://127.0.0.1:6566 (Press CTRL+C to quit)
42
50
```
43
51
52
+
### Retrieving features from the online store
44
53
After the server starts, we can execute cURL commands from another terminal tab:
45
54
46
55
```bash
@@ -142,3 +151,45 @@ curl -X POST \
142
151
}
143
152
}'| jq
144
153
```
154
+
155
+
### Pushing features to the online store
156
+
You can push data corresponding to a push source to the online store (note that timestamps need to be strings):
0 commit comments