Knowledge Hub Technologies Google BigQuery
BigQuery

Google BigQuery as a cloud data warehouse source or target. ETL-Native reads/writes via the REST API and the BigQuery Storage Read API; Spark reads/writes go through the spark-bigquery-connector, which requires a GCS staging bucket.

Connection Fields

Source: GcpConnectorPlugin.ts (connector type GCP_BIGQUERY).

FieldRequiredDefaultNotes
bigquery_project_idYes
bigquery_datasetNoDefault dataset for metadata browsing and unqualified table references.
bigquery_locationNoe.g. US, EU.
bigquery_temp_gcs_bucketYes for Spark writesStaging bucket the spark-bigquery-connector requires. ETL-Native source/target does not need it.
bigquery_use_storage_apiNotrueUses the BigQuery Storage Read API for reads.
auth_methodNoSERVICE_ACCOUNT_KEYSERVICE_ACCOUNT_KEY · WORKLOAD_IDENTITY · APPLICATION_DEFAULT.
gcp_auth_refNoReuse credentials from another GCP connector instead of storing a second copy.
select_batch_sizeNo50000Rows per round trip on read.
insert_batch_sizeNo10000Rows per batch on write.
service_account_key_json (secret)For SERVICE_ACCOUNT_KEY

Required IAM Roles

OperationRoles required
Readroles/bigquery.dataViewer + roles/bigquery.jobUser
Writeroles/bigquery.dataEditor + roles/bigquery.jobUser
Write via the Spark connector (bigquery_temp_gcs_bucket set)The above, plus roles/storage.objectAdmin (or at minimum object create/delete) on the staging bucket

Spark Write Behaviour

Spark writes use format: 'bigquery' via spark-bigquery-with-dependencies.jar. Writes set createDisposition = CREATE_IF_NEEDED, so the destination table is created automatically if it doesn't already exist.

Known Limitations