content/flux/v0/query-data/sql/bigquery.md
To query Google BigQuery with Flux:
Import the sql package.
Use sql.from() and provide the following parameters:
import "sql"
sql.from(
driverName: "bigquery",
dataSourceName: "bigquery://projectid/?apiKey=mySuP3r5ecR3tAP1K3y",
query: "SELECT * FROM exampleTable",
)
The bigquery driver uses the following DSN syntaxes (also known as a connection string):
bigquery://projectid/?param1=value¶m2=value
bigquery://projectid/location?param1=value¶m2=value
The Flux BigQuery implementation uses the Google Cloud Go SDK. Provide your authentication credentials using one of the following methods:
Set the GOOGLE_APPLICATION_CREDENTIALS environment variable to identify the
location of your credential JSON file.
Provide your base-64 encoded service account, refresh token, or JSON credentials using the credentials URL parameter in your BigQuery DSN.
bigquery://projectid/?credentials=eyJ0eXBlIjoiYXV0...
sql.from() converts BigQuery data types to Flux data types.
| BigQuery data type | Flux data type |
|---|---|
| INTEGER | int |
| FLOAT, NUMERIC | float |
| TIMESTAMP | time |
| BOOLEAN | bool |
{{% caption %}} All other BigQuery data types (including DATE, TIME and DATETIME) are converted to strings. {{% /caption %}}