FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

feat: Added batching to feature server /push to offline store (#5683) by jfw-ppi · Pull Request #5729 · feast-dev/feast · GitHub

This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -199,6 +199,26 @@ requests.post(
"http://localhost:6566/push",
data=json.dumps(push_data))
```
#### Offline write batching for `/push`

The Python feature server supports configurable batching for the **offline**
portion of writes executed via the `/push` endpoint.

Only the offline part of a push is affected:

- `to: "offline"` → **fully batched**
- `to: "online_and_offline"` → **online written immediately**, **offline batched**
- `to: "online"` → unaffected, always immediate

Enable batching in your `feature_store.yaml`:

```yaml
feature_server:
type: local
offline_push_batching_enabled: true
offline_push_batching_batch_size: 1000
offline_push_batching_batch_interval_seconds: 10
```

### Materializing features

Expand Down
16 changes: 16 additions & 0 deletions docs/reference/feature-store-yaml.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,22 @@ online_store:
* **project\_id** — Optional parameter for the datastore online store. Sets the GCP project id used by Feast, if not set Feast will use the default GCP project id in the local environment.
* **project** — Defines a namespace for the entire feature store. Can be used to isolate multiple deployments in a single installation of Feast.

### feature_server

The `feature_server` block configures the Python Feature Server when it is used
to serve online features and handle `/push` requests. This section is optional
and only applies when running the Python feature server.

An example configuration:

```yaml
feature_server:
type: local
offline_push_batching_enabled: true # Enables batching of offline writes processed by /push. Online writes are unaffected.
offline_push_batching_batch_size: 100 # Maximum number of buffered rows before writing to the offline store.
offline_push_batching_batch_interval_seconds: 5 # Maximum time rows may remain buffered before a forced flush.
```

## Providers

The `provider` field defines the environment in which Feast will execute data flows. As a result, it also determines the default values for other fields.
Expand Down
Loading
Loading

Back | FazBrowse Home | New Git URL