bq

The bq command-line tool is a Python-based command-line tool for BigQuery.

TLDR

Run query against a BigQuery table using standard SQL, add --dry_run flag to estimate the number of bytes read by the query

$ bq query --nouse_legacy_sql 'SELECT COUNT(*) FROM [DATASET_NAME].[TABLE_NAME]'
copy

Run a parameterized query

$ bq query --use_legacy_sql=false --parameter='ts_value:TIMESTAMP:2016-12-07 08:00:00' 'SELECT TIMESTAMP_ADD(@ts_value, INTERVAL 1 HOUR)'
copy

Create a new dataset or table in the US location

$ bq mk --location=US [dataset_name].[table_name]
copy

List all datasets in a project

$ bq ls --filter labels.[key]:[value] --max_results [integer] --format=prettyjson --project_id [project_id]
copy

Batch load data from a specific file in formats such as CSV, JSON, Parquet, and Avro to a table

$ bq load --location=[location] --source_format=[CSV|JSON|PARQUET|AVRO] [dataset].[table] [path_to_source]
copy

Copy one table to another

$ bq cp [dataset].[OLD_TABLE] [dataset].[new_table]
copy

Print help

$ bq help
copy

Copied to clipboard
Coindodo