Есть ли способ сохранить результаты интерактивной оболочки BigQuery в файл? - PullRequest
0 голосов
/ 17 февраля 2020

Doing bq shell запускает интерактивную оболочку BigQuery. После запуска оболочка может принимать команды SQL, и отображается табличный формат результатов.

Есть ли способ сохранить эти интерактивные результаты в файл (например, CSV, JSON, et c ...)?

1 Ответ

1 голос
/ 17 февраля 2020

Этого можно добиться, используя флаг --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 с разделителями новой строки.

Я рекомендую вам ознакомиться с официальной документацией . Я надеюсь, что это поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...