Skip to content

Commit 4f9ad7e

Browse files
fix: Apply billing project when infer schema (feast-dev#3417)
fix: make inference jobs run on billing project id Signed-off-by: Hai Nguyen <[email protected]> Signed-off-by: Hai Nguyen <[email protected]>
1 parent 98a24a3 commit 4f9ad7e

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

sdk/python/feast/infra/offline_stores/bigquery.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@
4444
from feast.infra.registry.base_registry import BaseRegistry
4545
from feast.on_demand_feature_view import OnDemandFeatureView
4646
from feast.repo_config import FeastConfigBaseModel, RepoConfig
47+
from feast.saved_dataset import SavedDatasetStorage
48+
from feast.usage import get_user_agent, log_exceptions_and_usage
4749

48-
from ...saved_dataset import SavedDatasetStorage
49-
from ...usage import get_user_agent, log_exceptions_and_usage
5050
from .bigquery_source import (
5151
BigQueryLoggingDestination,
5252
BigQuerySource,

sdk/python/feast/infra/offline_stores/bigquery_source.py

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,16 @@
1515
)
1616
from feast.repo_config import RepoConfig
1717
from feast.saved_dataset import SavedDatasetStorage
18+
from feast.usage import get_user_agent
1819
from feast.value_type import ValueType
1920

21+
try:
22+
from google.api_core import client_info as http_client_info
23+
except ImportError as e:
24+
from feast.errors import FeastExtrasDependencyImportError
25+
26+
raise FeastExtrasDependencyImportError("gcp", str(e))
27+
2028

2129
@typechecked
2230
class BigQuerySource(DataSource):
@@ -159,7 +167,14 @@ def get_table_column_names_and_types(
159167
) -> Iterable[Tuple[str, str]]:
160168
from google.cloud import bigquery
161169

162-
client = bigquery.Client()
170+
project_id = (
171+
config.offline_store.billing_project_id or config.offline_store.project_id
172+
)
173+
client = bigquery.Client(
174+
project=project_id,
175+
location=config.offline_store.location,
176+
client_info=http_client_info.ClientInfo(user_agent=get_user_agent()),
177+
)
163178
if self.table:
164179
schema = client.get_table(self.table).schema
165180
if not isinstance(schema[0], bigquery.schema.SchemaField):

0 commit comments

Comments
 (0)