Skip to content

feat: DuckDB historical retrieval without entity dataframe#6108

Open
Vperiodt wants to merge 7 commits intofeast-dev:masterfrom
Vperiodt:patch-dataframe
Open

feat: DuckDB historical retrieval without entity dataframe#6108
Vperiodt wants to merge 7 commits intofeast-dev:masterfrom
Vperiodt:patch-dataframe

Conversation

@Vperiodt
Copy link

@Vperiodt Vperiodt commented Mar 14, 2026

What this PR does / why we need it:

Adds date-range historical retrieval for the DuckDB offline store when entity_df is omitted.

Which issue(s) this PR fixes:

fixes #5832 related to #1611

Misc


Open with Devin

Vperiodt and others added 4 commits March 15, 2026 01:57
Signed-off-by: Vanshika Vanshika <vvanshik@redhat.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Signed-off-by: Vanshika Vanshika <vvanshik@redhat.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
Signed-off-by: Vanshika Vanshika <vvanshik@redhat.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
@Vperiodt Vperiodt marked this pull request as ready for review March 15, 2026 18:17
@Vperiodt Vperiodt requested a review from a team as a code owner March 15, 2026 18:17
devin-ai-integration[bot]

This comment was marked as resolved.

Vperiodt and others added 2 commits March 16, 2026 18:33
Signed-off-by: Vanshika Vanshika <vvanshik@redhat.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
devin-ai-integration[bot]

This comment was marked as resolved.

Signed-off-by: Vanshika Vanshika <vvanshik@redhat.com>

rh-pre-commit.version: 2.3.2
rh-pre-commit.check-secrets: ENABLED
full_feature_names: bool = False,
**kwargs,
) -> RetrievalJob:
start_date: Optional[datetime] = kwargs.get("start_date", None)
Copy link
Member

Choose a reason for hiding this comment

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

instead keep it as optional params in get_historical_features

DEFAULT_ENTITY_DF_EVENT_TIMESTAMP_COL = "event_timestamp"


def _build_entity_df_from_sources(
Copy link
Member

Choose a reason for hiding this comment

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

add docstring for this

)


DEFAULT_ENTITY_DF_EVENT_TIMESTAMP_COL = "event_timestamp"
Copy link
Member

Choose a reason for hiding this comment

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

import this from from feast.infra.offline_stores.offline_utils import DEFAULT_ENTITY_DF_EVENT_TIMESTAMP_COL

@ntkathole
Copy link
Member

@Vperiodt There is integration test tests/integration/offline_store/test_non_entity_mode.py, see if duckdb coverage can be included there

start_date = end_date - timedelta(seconds=max_ttl_seconds)
else:
start_date = end_date - timedelta(days=30)
start_date = make_tzaware(start_date)
Copy link
Contributor

Choose a reason for hiding this comment

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

Line 229 - Line 244 is common across the offline store to figure out the start_date & end_date. If its not too much, is it possible to create utility function which can be re-used?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

DuckDB - historical retrieval without entity dataframe

3 participants