Expected Behavior
When table_create_disposition is set to CREATE_NEVER, a BigQuery dataset should not be created.
Current Behavior
table_create_disposition is ignored and feast will attempt to create the dataset regardless. This can be a problem for orgs who require to manage warehouse infrastructure outside of Feast.
Steps to reproduce
Run get_historical_features on any BigQuery offline store. Example code:
from feast import FeatureStore
from pathlib import Path
from datetime import datetime
import pandas as pd
config = Path("feature_store.yaml")
store = FeatureStore(fs_yaml_file=config)
training_df = store.get_historical_features(
entity_df=pd.DataFrame.from_dict(
{
"id": ["<uid>"],
"feature_timestamp": [datetime(2020, 1, 1)]
}
),
features=[
"<feature_view>:<feature>"
]
)
print(training_df.to_df())
Specifications
- Version: feast[gcp,aws]==0.40.1
- Platform: python 3.10.14
- Subsystem: Debian GNU/Linux 11 (bullseye)
Possible Solution
table_create_disposition should be checked in this method. If the dataset does not exist and exception should be thrown when table_create_disposition is CREATE_NEVER.
Expected Behavior
When
table_create_dispositionis set toCREATE_NEVER, a BigQuery dataset should not be created.Current Behavior
table_create_dispositionis ignored and feast will attempt to create the dataset regardless. This can be a problem for orgs who require to manage warehouse infrastructure outside of Feast.Steps to reproduce
Run
get_historical_featureson any BigQuery offline store. Example code:Specifications
Possible Solution
table_create_dispositionshould be checked in this method. If the dataset does not exist and exception should be thrown whentable_create_dispositionisCREATE_NEVER.