112 lines
2.0 KiB
Markdown
112 lines
2.0 KiB
Markdown
# BigQuery CLI Usage
|
|
|
|
The `bq` command-line tool is used to interact with BigQuery for managing
|
|
resources and running jobs.
|
|
|
|
## Basic Syntax
|
|
|
|
```bash
|
|
bq COMMAND [FLAGS] [ARGUMENTS]
|
|
```
|
|
|
|
## Essential Commands
|
|
|
|
### Dataset Management
|
|
|
|
- **Create a dataset:**
|
|
|
|
```bash
|
|
bq mk --dataset --location=us my_dataset
|
|
```
|
|
|
|
- **List datasets:**
|
|
|
|
```bash
|
|
bq ls --project_id my_project
|
|
```
|
|
|
|
### Table Management
|
|
|
|
- **Create a table from a schema file:**
|
|
|
|
```bash
|
|
bq mk --table my_dataset.my_table schema.json
|
|
```
|
|
|
|
- **Copy a table within or across datasets:**
|
|
|
|
```bash
|
|
bq cp my_dataset.my_table my_other_dataset.my_table_copy
|
|
```
|
|
|
|
- **Create a table snapshot (read-only copy):**
|
|
|
|
```bash
|
|
bq cp --snapshot --no_clobber my_dataset.my_table my_other_dataset.my_table_snapshot
|
|
```
|
|
|
|
- **Load data from Cloud Storage (CSV):**
|
|
|
|
```bash
|
|
bq load --source_format=CSV my_dataset.my_table gs://my-bucket/data.csv
|
|
```
|
|
|
|
- **Stream data into a table from a newline-delimited JSON file:**
|
|
|
|
```bash
|
|
bq insert my_dataset.my_table data.json
|
|
```
|
|
|
|
- **Delete a table:**
|
|
|
|
```bash
|
|
bq rm -f my_dataset.my_table
|
|
```
|
|
|
|
### Querying Data
|
|
|
|
- **Run a standard SQL query:**
|
|
|
|
```bash
|
|
bq query --use_legacy_sql=false \
|
|
'SELECT count(*) FROM `my_project.my_dataset.my_table`'
|
|
```
|
|
|
|
- **Run a dry run to estimate bytes processed:**
|
|
|
|
```bash
|
|
bq query --use_legacy_sql=false --dry_run \
|
|
'SELECT * FROM `my_project.my_dataset.my_table`'
|
|
```
|
|
|
|
### Job Management
|
|
|
|
- **List recent jobs:**
|
|
|
|
```bash
|
|
bq ls -j
|
|
```
|
|
|
|
- **Show job details:**
|
|
|
|
```bash
|
|
bq show -j job_id
|
|
```
|
|
|
|
- **Cancel a job:**
|
|
|
|
```bash
|
|
bq cancel job_id
|
|
```
|
|
|
|
## Global Flags
|
|
|
|
- `--location`: Specifies the geographic location for the job or resource.
|
|
|
|
- `--project_id`: Overrides the default project for the command.
|
|
|
|
- `--format`: Changes output format (e.g., `prettyjson`, `sparse`, `csv`).
|
|
|
|
For the complete BigQuery CLI reference guide, visit:
|
|
[bq command-line tool reference](https://docs.cloud.google.com/bigquery/docs/reference/bq-cli-reference).
|