diff --git a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySourceBase.java b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySourceBase.java index 40cebca17706..1d16da8317b0 100644 --- a/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySourceBase.java +++ b/sdks/java/io/google-cloud-platform/src/main/java/org/apache/beam/sdk/io/gcp/bigquery/BigQuerySourceBase.java @@ -134,9 +134,13 @@ protected ExtractResult extractFiles(PipelineOptions options) throws Exception { BigQueryHelpers.getDatasetLocation( datasetService, tableToExtract.getProjectId(), tableToExtract.getDatasetId()); String bqProjectId = - bqOptions.getBigQueryProject() != null - ? bqOptions.getBigQueryProject() - : bqOptions.getProject(); + checkArgumentNotNull( + bqOptions.getBigQueryProject() != null + ? bqOptions.getBigQueryProject() + : bqOptions.getProject(), + "Cannot export data from table " + + tableToExtract + + " without a valid billing project. Check that either --bigQueryProject or --project has been set."); List tempFiles = executeExtract( extractJobId,