Этого можно добиться, используя флаг --format
, где можно передать один из следующих параметров:
- довольно - форматированный вывод таблицы
- sparse - более простой вывод таблицы
- довольно json - легко читаемый JSON формат
- json - максимально компактный JSON
- csv - формат csv с заголовком
Я проверил его в формате prettyjson
, и он отлично работает:
bq query --format=prettyjson --use_legacy_sql=false 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC' > output.json
Используя >
в конце команды, можно сохранить выходные данные команды в новый файл. Вы сможете увидеть результаты запроса в файле output.json
.
Другой возможный способ сделать это - записать результаты запроса в постоянную таблицу с помощью команды bq query
, а затем загрузить результаты в CSV / *. 1045 *.
При запуске следующего примера:
bq shell
query --use_legacy_sql=false --destination_table project_id:dataset.table 'SELECT name, number FROM `bigquery-public-data`.usa_names.usa_1910_current WHERE gender = "M" ORDER BY number DESC'
Помните, что таблица назначения должна быть новой или пустой.
Результаты выполненного запроса выглядят так:
Waiting on bqjob_r11abc345 ... (5s) Current status: DONE
+---------+--------+
| name | number |
+---------+--------+
| Robert | 10021 |
| John | 9636 |
| Robert | 9297 |
| ... |
+---------+--------+
Теперь, когда вы go подключитесь к веб-интерфейсу BigQuery, вы сможете увидеть результаты в project_id:dataset.table
. После выполнения запроса SQL вы можете загрузить результаты в файл на локальном компьютере, а затем сохранить их на Google Диске или в Google Sheets. Вы можете загружать результаты запросов локально только в формате CSV или в формате JSON с разделителями новой строки.
Я рекомендую вам ознакомиться с официальной документацией . Я надеюсь, что это поможет вам.