Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
Prev Previous commit
Next Next commit
updated
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
  • Loading branch information
franciscojavierarceo committed Sep 22, 2025
commit 994443b687631ae11418fc0ab82916f2c540ea68
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ feast materialize 2021-04-12T00:00:00 $CURRENT_TIME
feast materialize --disable-event-timestamp
```

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.
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.
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we do not need this flag, we can keep default end time as current time and start time as (current time - 24hr/a month) ?
Same for materialize-incremental command to have end date as current time by default.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

my concern is the significant change that has for users, right? making it optional would silently ingest data for users without telling them about it. i'd rather do more code work to make them opt in rather than have users accidentally ingest data.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That's fair 👍


```commandline
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!
Expand Down
34 changes: 17 additions & 17 deletions docs/getting-started/components/online-store.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
# Online store

Feast uses online stores to serve features at low latency.
Feature values are loaded from data sources into the online store through _materialization_, which can be triggered through the `materialize` command.

The storage schema of features within the online store mirrors that of the original data source.
One key difference is that for each [entity key](../concepts/entity.md), only the latest feature values are stored.
No historical values are stored.

Here is an example batch data source:

![](../../.gitbook/assets/image%20%286%29.png)

Once the above data source is materialized into Feast (using `feast materialize`), the feature values will be stored as follows:

![](../../.gitbook/assets/image%20%285%29.png)

# Online store
Feast uses online stores to serve features at low latency.
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).
The storage schema of features within the online store mirrors that of the original data source.
One key difference is that for each [entity key](../concepts/entity.md), only the latest feature values are stored.
No historical values are stored.
Here is an example batch data source:
![](../../.gitbook/assets/image%20%286%29.png)
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:
![](../../.gitbook/assets/image%20%285%29.png)
Features can also be written directly to the online store via [push sources](../../reference/data-sources/push.md) .
2 changes: 1 addition & 1 deletion docs/getting-started/components/overview.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
* **Create Batch Features:** ELT/ETL systems like Spark and SQL are used to transform data in the batch store.
* **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).
* **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.
* **Feast Materialize:** The user (or scheduler) executes `feast materialize` which loads features from the offline store into the online store.
* **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.
* **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.
* **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.
* **Deploy Model:** The trained model binary (and list of features) are deployed into a model serving system. This step is not executed by Feast.
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/concepts/data-ingestion.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ CURRENT_TIME=$(date -u +"%Y-%m-%dT%H:%M:%S")
feast materialize-incremental $CURRENT_TIME
```

**Simple materialization (uses current datetime):**
**Simple materialization (for data without event timestamps):**
```bash
feast materialize --disable-event-timestamp
```
Expand Down
2 changes: 1 addition & 1 deletion docs/getting-started/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -508,7 +508,7 @@ feast materialize-incremental $CURRENT_TIME
{% endtab %}
{% tab title="Bash (simple)" %}
```bash
# Alternative: Use current datetime without specifying timestamps
# Alternative: Materialize all data using current timestamp (for data without event timestamps)
feast materialize --disable-event-timestamp
```
{% endtab %}
Expand Down
2 changes: 1 addition & 1 deletion docs/reference/feast-cli-commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -174,7 +174,7 @@ feast materialize -v driver_hourly_stats 2020-01-01T00:00:00 2022-01-01T00:00:00
feast materialize --disable-event-timestamp -v driver_hourly_stats
```

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

```text
Materializing 1 feature views from 2020-01-01 to 2022-01-01
Expand Down
2 changes: 1 addition & 1 deletion infra/templates/README.md.jinja2
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ feast materialize 2021-04-12T00:00:00 $CURRENT_TIME
feast materialize --disable-event-timestamp
```

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.
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.

```commandline
Materializing feature view driver_hourly_stats from 2021-04-14 to 2021-04-15 done!
Expand Down
9 changes: 5 additions & 4 deletions sdk/python/feast/cli/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
# limitations under the License.
import json
import logging
from datetime import datetime
from datetime import datetime, timedelta
from importlib.metadata import version as importlib_version
from pathlib import Path
from typing import List, Optional
Expand Down Expand Up @@ -314,7 +314,7 @@ def registry_dump_command(ctx: click.Context):
@click.option(
"--disable-event-timestamp",
is_flag=True,
help="Use current datetime for materialization instead of requiring timestamps",
help="Materialize all available data using current datetime as event timestamp (useful when source data lacks event timestamps)",
)
@click.pass_context
def materialize_command(
Expand All @@ -332,7 +332,7 @@ def materialize_command(

START_TS and END_TS should be in ISO 8601 format, e.g. '2021-07-16T19:20:01'

If --disable-event-timestamp is used, timestamps are not required and datetime.now() will be used.
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.
"""
store = create_feature_store(ctx)

Expand All @@ -342,7 +342,8 @@ def materialize_command(
"Cannot specify START_TS or END_TS when --disable-event-timestamp is used"
)
now = datetime.now()
start_date = now
# Query all available data and use current datetime as event timestamp
start_date = datetime(1970, 1, 1) # Beginning of time to capture all historical data
end_date = now
Comment thread
franciscojavierarceo marked this conversation as resolved.
else:
if not start_ts or not end_ts:
Expand Down
2 changes: 1 addition & 1 deletion sdk/python/feast/feature_store.py
Original file line number Diff line number Diff line change
Expand Up @@ -1556,7 +1556,7 @@ def materialize(
end_date (datetime): End date for time range of data to materialize into the online store
feature_views (List[str]): Optional list of feature view names. If selected, will only run
materialization for the specified feature views.
disable_event_timestamp (bool): If True, uses current datetime for materialization instead of event timestamps
disable_event_timestamp (bool): If True, materializes all available data using current datetime as event timestamp instead of source event timestamps

Examples:
Materialize all features into the online store over the interval
Expand Down