BigQuery#

Google BigQuery adapter with Arrow result support.

Job Controls#

BigQuery job behavior is configured on BigQueryConfig.driver_features and then applied by the normal driver methods. SQLSpec does not expose a separate execute_with_job() method, and per-call job options are not threaded through generic execute(**kwargs).

job_retry_deadline controls retry construction for BigQuery query, load, and export jobs. The default is 60.0 seconds. Values less than or equal to zero disable the BigQuery job retry wrapper by passing job_retry=None to the client call.

job_result_timeout bounds waits on QueryJob.result() and load job completion. request_timeout bounds the initial BigQuery API request; when it is omitted, SQLSpec derives a request timeout from job_result_timeout when that value is numeric.

use_query_and_wait=True switches simple query execution from Client.query() plus QueryJob.result() to Client.query_and_wait(). The public SQLSpec call remains execute(), select_*(), or select_to_arrow(); configured retry and timeout values are applied transparently.

Load Jobs#

load_from_arrow() and load_from_storage() use the configured BigQuery job retry and timeout controls for the load request and load-job completion. Use job_retry_deadline=0 when running against emulators or other endpoints where retrying invalid or unsupported jobs would only extend failures.

Result Exports#

BigQuery result export uses the existing select_to_storage() method. There is no public export_table_to_storage() API. select_to_storage() runs the query with the configured job controls, waits for the query job according to the configured result timeout, and then writes through the selected storage bridge destination.

Billing follows BigQuery query-job behavior: exporting query results still runs the SQL statement, so the query can scan and bill data before SQLSpec writes the result to local or object storage.

Configuration#

Driver#

Data Dictionary#