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
{{ message }}
Repository navigation
Commit cc07c82
Browse filesBrowse the repository at this point in the historyBrowse files
fix: Use UTC end bound and correct docs for disable_event_timestamp (#6956)
* fix: Use UTC end bound and correct docs for disable_event_timestamp
disable_event_timestamp was documented as stamping rows with the
current datetime, but no materialization engine reads the flag; rows
keep their source event timestamps. Update docstrings, CLI help and
docs so the flag only promises full-window materialization.
Also compute the full-window bounds in UTC. The CLI and feature server
used naive datetime.now(), which make_tzaware() treats as UTC, so hosts
west of UTC skipped the newest rows.
Fixes#6936
Signed-off-by: Chaitany Patel <[email protected]>
* docs: State the UTC upper bound for disable_event_timestamp
Signed-off-by: Chaitany Patel <[email protected]>
---------
Signed-off-by: Chaitany Patel <[email protected]>
The `--disable-event-timestamp` flag allows you to materialize all available feature data using the current datetime as the event timestamp, without needing to specify start and end timestamps. This is useful when your source data lacks proper event timestamp columns.
130
+
The `--disable-event-timestamp` flag allows you to materialize all available data (from 1970-01-01 up to the current UTC time) without specifying start and end timestamps. Rows keep the event timestamps from the source.
131
131
132
132
```commandline
133
133
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!
Copy file name to clipboardExpand all lines: docs/getting-started/components/online-store.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
# Online store
2
2
3
3
Feast uses online stores to serve features at low latency.
4
-
Feature values are loaded from data sources into the online store through _materialization_, which can be triggered through the `materialize` command (either with specific timestamps or using `--disable-event-timestamp` to materialize all data with current timestamps).
4
+
Feature values are loaded from data sources into the online store through _materialization_, which can be triggered through the `materialize` command (either with specific timestamps or using `--disable-event-timestamp` to materialize all available data).
5
5
6
6
The storage schema of features within the online store mirrors that of the original data source.
7
7
One key difference is that for each [entity key](../concepts/entity.md), only the latest feature values are stored.
Copy file name to clipboardExpand all lines: docs/getting-started/components/overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,7 +7,7 @@
7
7
***Create Batch Features:** ELT/ETL systems like Spark and SQL are used to transform data in the batch store.
8
8
***Create Stream Features:** Stream features are created from streaming services such as Kafka or Kinesis, and can be pushed directly into Feast via the [Push API](../../reference/data-sources/push.md).
9
9
***Feast Apply:** The user (or CI) publishes versioned controlled feature definitions using `feast apply`. This CLI command updates infrastructure and persists definitions in the object store registry.
10
-
***Feast Materialize:** The user (or scheduler) executes `feast materialize` (with timestamps or `--disable-event-timestamp` to materialize all data with current timestamps) which loads features from the offline store into the online store.
10
+
***Feast Materialize:** The user (or scheduler) executes `feast materialize` (with timestamps or `--disable-event-timestamp` to materialize all available data) which loads features from the offline store into the online store.
11
11
***Model Training:** A model training pipeline is launched. It uses the Feast Python SDK to retrieve a training dataset that can be used for training models.
12
12
***Get Historical Features:** Feast exports a point-in-time correct training dataset based on the list of features and entity dataframe provided by the model training pipeline.
13
13
***Deploy Model:** The trained model binary (and list of features) are deployed into a model serving system. This step is not executed by Feast.
The `--disable-event-timestamp` flag is useful when your source data lacks event timestamp columns, allowing you to materialize all available data using the current datetime as the event timestamp.
290
+
The `--disable-event-timestamp` flag lets you materialize all available data (from 1970-01-01 up to the current UTC time) without specifying start and end timestamps. Rows keep the event timestamps from the source.
291
291
292
292
```text
293
293
Materializing 1 feature views from 2020-01-01 to 2022-01-01
Copy file name to clipboardExpand all lines: docs/reference/feature-servers/python-feature-server.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -286,7 +286,7 @@ curl -X POST "http://localhost:6566/materialize" -d '{
286
286
}'| jq
287
287
```
288
288
289
-
When `disable_event_timestamp` is set to `true`, the `start_ts` and `end_ts` parameters are not required, and all available data is materialized using the current datetime as the event timestamp. This is useful when your source data lacks proper event timestamp columns.
289
+
When `disable_event_timestamp` is set to `true`, the `start_ts` and `end_ts` parameters are not required, and all available data (from 1970-01-01 up to the current UTC time) is materialized. Rows keep the event timestamps from the source.
The `--disable-event-timestamp` flag allows you to materialize all available feature data using the current datetime as the event timestamp, without needing to specify start and end timestamps. This is useful when your source data lacks proper event timestamp columns.
128
+
The `--disable-event-timestamp` flag allows you to materialize all available data (from 1970-01-01 up to the current UTC time) without specifying start and end timestamps. Rows keep the event timestamps from the source.
129
129
130
130
```commandline
131
131
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!
help="Materialize all available data using current datetime as event timestamp (useful when source data lacks event timestamps)",
366
+
help="Materialize all available data, from 1970-01-01 up to the current UTC time, without specifying START_TS and END_TS (rows keep their source event timestamps)",
367
367
)
368
368
@click.option(
369
369
"--version",
@@ -388,7 +388,7 @@ def materialize_command(
388
388
389
389
START_TS and END_TS should be in ISO 8601 format, e.g. '2021-07-16T19:20:01'
390
390
391
-
If --disable-event-timestamp is used, timestamps are not required and all available data will be materialized using the current datetime as the event timestamp.
391
+
If --disable-event-timestamp is used, timestamps are not required and all available data (from 1970-01-01 up to the current UTC time) will be materialized. Rows keep their source event timestamps.
392
392
"""
393
393
store=create_feature_store(ctx)
394
394
@@ -397,12 +397,9 @@ def materialize_command(
397
397
raiseclick.UsageError(
398
398
"Cannot specify START_TS or END_TS when --disable-event-timestamp is used"
399
399
)
400
-
now=datetime.now()
401
-
# Query all available data and use current datetime as event timestamp
402
-
start_date=datetime(
403
-
1970, 1, 1
404
-
) # Beginning of time to capture all historical data
405
-
end_date=now
400
+
# Query all available data, from the beginning of time up to now (UTC)
0 commit comments