Skip to content

Commit 994443b

Browse files
updated
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
1 parent 3683855 commit 994443b

9 files changed

Lines changed: 29 additions & 28 deletions

File tree

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ feast materialize 2021-04-12T00:00:00 $CURRENT_TIME
127127
feast materialize --disable-event-timestamp
128128
```
129129

130-
The `--disable-event-timestamp` flag allows you to materialize features using the current datetime without needing to specify start and end timestamps. This is useful for quick testing or when you want to materialize all available data up to now.
130+
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.
131131

132132
```commandline
133133
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!
Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
1-
# Online store
2-
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.
5-
6-
The storage schema of features within the online store mirrors that of the original data source.
7-
One key difference is that for each [entity key](../concepts/entity.md), only the latest feature values are stored.
8-
No historical values are stored.
9-
10-
Here is an example batch data source:
11-
12-
![](../../.gitbook/assets/image%20%286%29.png)
13-
14-
Once the above data source is materialized into Feast (using `feast materialize`), the feature values will be stored as follows:
15-
16-
![](../../.gitbook/assets/image%20%285%29.png)
17-
1+
# Online store
2+
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).
5+
6+
The storage schema of features within the online store mirrors that of the original data source.
7+
One key difference is that for each [entity key](../concepts/entity.md), only the latest feature values are stored.
8+
No historical values are stored.
9+
10+
Here is an example batch data source:
11+
12+
![](../../.gitbook/assets/image%20%286%29.png)
13+
14+
Once the above data source is materialized into Feast (using `feast materialize` with timestamps or `feast materialize --disable-event-timestamp`), the feature values will be stored as follows:
15+
16+
![](../../.gitbook/assets/image%20%285%29.png)
17+
1818
Features can also be written directly to the online store via [push sources](../../reference/data-sources/push.md) .

docs/getting-started/components/overview.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* **Create Batch Features:** ELT/ETL systems like Spark and SQL are used to transform data in the batch store.
88
* **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).
99
* **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` 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 data with current timestamps) which loads features from the offline store into the online store.
1111
* **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.
1212
* **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.
1313
* **Deploy Model:** The trained model binary (and list of features) are deployed into a model serving system. This step is not executed by Feast.

docs/getting-started/concepts/data-ingestion.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ CURRENT_TIME=$(date -u +"%Y-%m-%dT%H:%M:%S")
7070
feast materialize-incremental $CURRENT_TIME
7171
```
7272

73-
**Simple materialization (uses current datetime):**
73+
**Simple materialization (for data without event timestamps):**
7474
```bash
7575
feast materialize --disable-event-timestamp
7676
```

docs/getting-started/quickstart.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -508,7 +508,7 @@ feast materialize-incremental $CURRENT_TIME
508508
{% endtab %}
509509
{% tab title="Bash (simple)" %}
510510
```bash
511-
# Alternative: Use current datetime without specifying timestamps
511+
# Alternative: Materialize all data using current timestamp (for data without event timestamps)
512512
feast materialize --disable-event-timestamp
513513
```
514514
{% endtab %}

docs/reference/feast-cli-commands.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ feast materialize -v driver_hourly_stats 2020-01-01T00:00:00 2022-01-01T00:00:00
174174
feast materialize --disable-event-timestamp -v driver_hourly_stats
175175
```
176176

177-
The `--disable-event-timestamp` flag is useful for quick testing or when you want to materialize all available data up to the current time.
177+
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.
178178

179179
```text
180180
Materializing 1 feature views from 2020-01-01 to 2022-01-01

infra/templates/README.md.jinja2

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,7 @@ feast materialize 2021-04-12T00:00:00 $CURRENT_TIME
125125
feast materialize --disable-event-timestamp
126126
```
127127

128-
The `--disable-event-timestamp` flag allows you to materialize features using the current datetime without needing to specify start and end timestamps. This is useful for quick testing or when you want to materialize all available data up to now.
128+
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.
129129

130130
```commandline
131131
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!

sdk/python/feast/cli/cli.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414
import json
1515
import logging
16-
from datetime import datetime
16+
from datetime import datetime, timedelta
1717
from importlib.metadata import version as importlib_version
1818
from pathlib import Path
1919
from typing import List, Optional
@@ -314,7 +314,7 @@ def registry_dump_command(ctx: click.Context):
314314
@click.option(
315315
"--disable-event-timestamp",
316316
is_flag=True,
317-
help="Use current datetime for materialization instead of requiring timestamps",
317+
help="Materialize all available data using current datetime as event timestamp (useful when source data lacks event timestamps)",
318318
)
319319
@click.pass_context
320320
def materialize_command(
@@ -332,7 +332,7 @@ def materialize_command(
332332
333333
START_TS and END_TS should be in ISO 8601 format, e.g. '2021-07-16T19:20:01'
334334
335-
If --disable-event-timestamp is used, timestamps are not required and datetime.now() will be used.
335+
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.
336336
"""
337337
store = create_feature_store(ctx)
338338

@@ -342,7 +342,8 @@ def materialize_command(
342342
"Cannot specify START_TS or END_TS when --disable-event-timestamp is used"
343343
)
344344
now = datetime.now()
345-
start_date = now
345+
# Query all available data and use current datetime as event timestamp
346+
start_date = datetime(1970, 1, 1) # Beginning of time to capture all historical data
346347
end_date = now
347348
else:
348349
if not start_ts or not end_ts:

sdk/python/feast/feature_store.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1556,7 +1556,7 @@ def materialize(
15561556
end_date (datetime): End date for time range of data to materialize into the online store
15571557
feature_views (List[str]): Optional list of feature view names. If selected, will only run
15581558
materialization for the specified feature views.
1559-
disable_event_timestamp (bool): If True, uses current datetime for materialization instead of event timestamps
1559+
disable_event_timestamp (bool): If True, materializes all available data using current datetime as event timestamp instead of source event timestamps
15601560
15611561
Examples:
15621562
Materialize all features into the online store over the interval

0 commit comments

Comments
 (0)