diff --git a/sdk/python/feast/infra/passthrough_provider.py b/sdk/python/feast/infra/passthrough_provider.py index c3c3048a896..9d0376fb43c 100644 --- a/sdk/python/feast/infra/passthrough_provider.py +++ b/sdk/python/feast/infra/passthrough_provider.py @@ -1,3 +1,4 @@ +import logging from datetime import datetime, timedelta from typing import Any, Callable, Dict, List, Mapping, Optional, Sequence, Tuple, Union @@ -37,6 +38,8 @@ make_tzaware, ) +logger = logging.getLogger(__name__) + DEFAULT_BATCH_SIZE = 10_000 @@ -317,6 +320,21 @@ def materialize_single_feature_view( or isinstance(feature_view, StreamFeatureView) or isinstance(feature_view, FeatureView) ), f"Unexpected type for {feature_view.name}: {type(feature_view)}" + + if getattr(config.online_store, "lazy_table_creation", False): + logger.info( + f"Online store {config.online_store.__class__.__name__} supports lazy table creation and it is enabled" + ) + + self.update_infra( + project=project, + tables_to_delete=[], + tables_to_keep=[feature_view], + entities_to_delete=[], + entities_to_keep=registry.list_entities(project=project), + partial=True, + ) + task = MaterializationTask( project=project, feature_view=feature_view,