BigQuery (v0.1.0-dev.10.9f9be4c-dirty)¶
Driver Version v1.0.0-dev.10.9f9be4c-dirty
Warning
This is documentation for a prerelease version.
This driver provides access to BigQuery , a data warehouse offered by Google Cloud.
Installation & Quickstart¶
The BigQuery driver can be installed with dbc.
To use the driver:
Authenticate with Google Cloud (e.g. via
gcloud auth application-default login).Provide the database options
adbc.bigquery.sql.project_idandadbc.bigquery.sql.dataset_id.
Feature & Type Support¶
| Feature | Support | |
|---|---|---|
| Bulk Ingestion | Create | ✅ |
| Append | ✅ | |
| Create/Append | ✅ | |
| Replace | ✅ | |
| Temporary Table | ❌ | |
| Specify target catalog | ❌ | |
| Specify target schema | ✅ | |
| Non-nullable fields are marked NOT NULL | ✅ | |
| Catalog (GetObjects) | depth=catalogs | ✅ |
| depth=db_schemas | ✅ | |
| depth=tables | ✅ | |
| depth=columns (all) | ✅ | |
| Get Parameter Schema | ❌ | |
| Get Table Schema | ✅ | |
| Prepared Statements | ✅ | |
| Transactions | ✅ | |
Types¶
SELECT (SQL to Arrow) type mapping¶
SQL Type |
Arrow Type |
|---|---|
ARRAY |
list [1] |
BOOL |
bool |
BOOLEAN |
bool |
BYTES |
binary |
DATE |
date32[day] |
DATETIME |
timestamp[us] [2] |
FLOAT64 |
double |
GEOGRAPHY |
extension<geoarrow.wkt> |
INT64 |
int64 |
INTERVAL |
month_day_nano_interval |
JSON |
extension<arrow.json> |
NUMERIC |
|
RANGE<DATE> |
struct<start: date32[day], end: date32[day]> |
RANGE<DATETIME> |
struct<start: timestamp[us], end: timestamp[us]> |
RANGE<TIMESTAMP> |
struct<start: timestamp[us, tz=UTC], end: timestamp[us, tz=UTC]> |
STRING |
string |
STRUCT |
struct |
TIME |
time64[us] |
TIMESTAMP |
timestamp[us, tz=UTC] [6] |
Bind parameter (Arrow to SQL) type mapping¶
Arrow Type |
SQL Type |
|---|---|
binary |
BYTES |
bool |
BOOLEAN |
date32[day] |
DATE |
decimal128 |
NUMERIC |
double |
FLOAT64 |
int64 |
INT64 |
string |
STRING |
time64[us] |
TIME |
timestamp[us, tz=UTC] |
TIMESTAMP |
timestamp[us] |
DATETIME |
Bulk ingest (Arrow to SQL) type mapping¶
Arrow Type |
SQL Type |
|---|---|
binary |
BYTES |
bool |
BOOLEAN |
date32[day] |
DATE |
decimal128 |
NUMERIC |
double |
FLOAT64 |
float |
FLOAT64 |
int16 |
INT64 |
int32 |
INT64 |
int64 |
INT64 |
string |
STRING |
time64[us] |
TIME |
timestamp[us, tz=UTC] |
TIMESTAMP |
timestamp[us] |
❌ [7] |