Skip to content

Feast will attempt to create a BigQuery dataset regardless of table_create_disposition #4648

@danbaron63

Description

@danbaron63

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.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions