Visitar URL original
feat: Added batching to feature server /push to offline store (#5683) by jfw-ppi · Pull Request #5729 · feast-dev/feast · GitHub
Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 20 additions & 0 deletions docs/reference/feature-servers/python-feature-server.md
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
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