Skip to content

Commit e87a255

Browse files
authored
fix: use the project id from BQ dataset instead of the default project id (#717)
It is possible that the user specify a different project than the current project as the BQ output destination for batch prediction job.
1 parent 7f548e4 commit e87a255

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

google/cloud/aiplatform/jobs.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -795,17 +795,14 @@ def iter_outputs(
795795
if bq_dataset.startswith("bq://"):
796796
bq_dataset = bq_dataset[5:]
797797

798-
# # Split project ID and BQ dataset ID
799-
_, bq_dataset_id = bq_dataset.split(".", 1)
800-
801798
# Build a BigQuery Client using the same credentials as JobServiceClient
802799
bq_client = bigquery.Client(
803800
project=self.project,
804801
credentials=self.api_client._transport._credentials,
805802
)
806803

807804
row_iterator = bq_client.list_rows(
808-
table=f"{bq_dataset_id}.{bq_table}", max_results=bq_max_results
805+
table=f"{bq_dataset}.{bq_table}", max_results=bq_max_results
809806
)
810807

811808
return row_iterator

tests/unit/aiplatform/test_jobs.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,13 +48,14 @@
4848
_TEST_ID = "1028944691210842416"
4949
_TEST_ALT_ID = "8834795523125638878"
5050
_TEST_DISPLAY_NAME = "my_job_1234"
51+
_TEST_BQ_PROJECT_ID = "projectId"
5152
_TEST_BQ_DATASET_ID = "bqDatasetId"
5253
_TEST_BQ_TABLE_NAME = "someBqTable"
5354
_TEST_BQ_JOB_ID = "123459876"
5455
_TEST_BQ_MAX_RESULTS = 100
5556
_TEST_GCS_BUCKET_NAME = "my-bucket"
5657

57-
_TEST_BQ_PATH = f"bq://projectId.{_TEST_BQ_DATASET_ID}"
58+
_TEST_BQ_PATH = f"bq://{_TEST_BQ_PROJECT_ID}.{_TEST_BQ_DATASET_ID}"
5859
_TEST_GCS_BUCKET_PATH = f"gs://{_TEST_GCS_BUCKET_NAME}"
5960
_TEST_GCS_JSONL_SOURCE_URI = f"{_TEST_GCS_BUCKET_PATH}/bp_input_config.jsonl"
6061
_TEST_PARENT = f"projects/{_TEST_PROJECT}/locations/{_TEST_LOCATION}"
@@ -420,7 +421,7 @@ def test_batch_prediction_iter_dirs_bq(self, bq_list_rows_mock):
420421
bp.iter_outputs()
421422

422423
bq_list_rows_mock.assert_called_once_with(
423-
table=f"{_TEST_BQ_DATASET_ID}.{_TEST_BQ_TABLE_NAME}",
424+
table=f"{_TEST_BQ_PROJECT_ID}.{_TEST_BQ_DATASET_ID}.{_TEST_BQ_TABLE_NAME}",
424425
max_results=_TEST_BQ_MAX_RESULTS,
425426
)
426427

0 commit comments

Comments
 (0)