You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
project: my_feature_reporegistry: gs://.../registry.db# The provider AWS used for the online store.# Mixing AWS and GCP should be okay provided that offline store type is specified.provider: awsoffline_store:
type: bigquerybilling_project_id: some-project-iddataset: latestgcs_staging_location: gs://...location: EUproject_id: some-project-idonline_store:
type: redisconnection_string: ...entity_key_serialization_version: 2
importos# Credentials for GCPos.environ["GOOGLE_APPLICATION_CREDENTIALS"]="GCP_keyfile.json"fromfeastimportFeatureStore, RepoConfigif__name__=="__main__":
# repo_path must contain the GCP_keyfile.json and feature_store.yaml filesrepo_path="./"assertos.path.exists(repo_path)
# Create a feature store objectstore=FeatureStore(repo_path=repo_path) # <--- Error occurs here
Specifications
Version: feast v0.38.0
Platform: x86-64 Ubuntu 22.04.3 LTS as well as arm64 Mac OS Sonoma 14.4.1
Subsystem:
Possible Solution
On first try, using values.data["project_id"] instead of values["project_id"] in the pydantic.field_validator for billing_project_id in bigquery.py#L108 should work:
@field_validator("billing_project_id")defproject_id_exists(cls, v, values, **kwargs):
# if v and not values["project_id"]:ifvandnotvalues.data["project_id"]:
raiseValueError(
"please specify project_id if billing_project_id is specified"
)
returnv
More testing is needed before I can make a PR.
The text was updated successfully, but these errors were encountered:
galen-ft
changed the title
Regression in BigQuery offline store caused by newer pydantic versions
Bug: Regression in BigQuery offline store caused by newer pydantic versions
Jun 14, 2024
Same issue with feast v0.40.1. I have opened a PR. @galen-ft I just used your proposed solution for the issue. Have you made any progress on your end, or do you have any other ideas on how to fix it better or differently?
Hi @tokoko and @jgesche, and apologies for my late reply. I've been quite busy during the summer so I haven't had the chance to investigate a better fix. I'll try to do it as soon as I get some time.
Expected Behavior
Calls to
store = FeatureStore(repo_path=repo_path)
for a BigQuery offline store should just work.Current Behavior
Running
store = FeatureStore(repo_path=repo_path)
for a BigQuery offline store causes:This happens on line 108 in bigquery.py#L108.
Likely cause
pydantic>=2.0.0
changed theValidationInfo
object.The setup.py for feast >= v0.36.0 requires that
pydantic>=2.0.0
.Last known successful configuration:
pydantic>=1,<2
.Steps to reproduce
Example
feature_store.yaml
:Specifications
Possible Solution
On first try, using
values.data["project_id"]
instead ofvalues["project_id"]
in thepydantic.field_validator
forbilling_project_id
in bigquery.py#L108 should work:More testing is needed before I can make a PR.
The text was updated successfully, but these errors were encountered: