Google BigQuery

Supports:

  • ✅ Models
  • ✅ Model sync destination
  • ✅ Bulk sync source
  • ✅ Bulk sync destination

Connection

Configuration

NameTypeDescriptionRequired
auth_methodstringAuthentication method

Accepted values: service_account_key , workload_identity_federation , application_default_credentials
true
locationstringLocation (optional)

Region or multi-region for query operations
false
structured_values_as_jsonbooleanWrite object and array values as JSONfalse
use_bulk_sync_staging_schemabooleanUse custom bulk sync staging schema false
use_extractbooleanUse extract for bulk sync from BigQuery false

use_extract

When use_extract is true
NameTypeDescriptionRequired
bucketstringGoogle Cloud Storage buckettrue

use_bulk_sync_staging_schema

When use_bulk_sync_staging_schema is true
NameTypeDescriptionRequired
bulk_sync_staging_schemastringStaging schema nametrue

auth_method

When auth_method is workload_identity_federation
NameTypeDescriptionRequired
credential_configstringCredential configuration JSON file downloaded from Google Cloudtrue
wif_project_idstringGoogle Cloud project IDtrue
When auth_method is service_account_key|application_default_credentials
NameTypeDescriptionRequired
override_project_idstringOverride project ID (optional)

Override the default project ID for cross-project access
false
When auth_method is service_account_key
NameTypeDescriptionRequired
service_accountstringService account keytrue

Example

{
"name": "Google BigQuery connection",
"type": "bigquery",
"configuration": {
"auth_method": "",
"location": "us-east1",
"structured_values_as_json": false,
"use_bulk_sync_staging_schema": false,
"use_extract": false
}
}

Read-only properties

NameTypeDescriptionRequired

auth_method

When auth_method is service_account_key
NameTypeDescriptionRequired
client_emailstringService account identityfalse
project_idstringService account project IDfalse

Model Sync

Source

Configuration

NameTypeDescriptionRequired
datasetstringDatasetfalse
querystringfalse
tablestringTablefalse

Example

{
...
"configuration": {
"dataset": "nyctaxi",
"query": "SELECT * from sampledata.nyctaxi.taxis",
"table": "taxis"
}
}

Target

Google BigQuery connections may be used as the destination in a model sync.

Target creation

Google BigQuery connections may be used to create a new target for a model sync. The following parameters are required to create a new target:

NAMEDESCRIPTIONENUM
datasetDatasettrue
nameTable namefalse

Bulk Sync

Source

Google BigQuery connections may be used as a bulk sync source. No additional configuration options are required.

Destination

Configuration

NameTypeDescriptionRequired
advancedobjectfalse
datasetstringOutput datasetfalse
mirror_schemasbooleanMirror schemasfalse

Example

{
...
"destination_configuration": {
"advanced": {
"empty_strings_null": false,
"expire_tables_after_inactivity": false,
"hard_deletes": false,
"initial_execution": "",
"table_expiry_days": 0,
"table_prefix": "",
"truncate_existing": false
},
"dataset": "dataset",
"mirror_schemas": false
}
}

Type handling

Destination types

POLYTOMIC TYPEGOOGLE BIGQUERY TYPE
array<>JSON
bigintINTEGER
booleanBOOLEAN
dateDATE
datetimeTIMESTAMP
decimal(precision, scale)BIGNUMERIC(precision,scale)
doubleFLOAT
intINTEGER
jsonJSON
jsonarrayJSON
numberBIGNUMERIC
object{}JSON
singleFLOAT
smallintINTEGER
stringSTRING
timeTIME

Source types

GOOGLE BIGQUERY TYPEPOLYTOMIC TYPE
ARRAY<>array<>
BIGNUMERICnumber
BIGNUMERIC(precision, scale)decimal(precision, scale)
DATEdate
FLOATdouble
INTEGERbigint
NUMERICnumber
NUMERIC(precision, scale)decimal(precision, scale)
RECORDjson
RECORD<>object{}
TIMEtime
TIMESTAMPdatetime