BigQuery - экспорт результатов запроса в локальный файл / хранилище Google - PullRequest
0 голосов
/ 24 мая 2018

Я хочу экспортировать результаты запроса из BigQuery в локальный файл / хранилище Google.

Я пробовал команду 'bq extract', но она не разрешает запрос в качестве ввода.

Usage: bq extract <source_table> <destination_uris>

Я не хочу извлекать всю таблицу, так как таблица содержит много столбцов, которые не требуются, и мне нужно агрегировать данные.

На данный момент единственный обходной путь, который я могу найти, - это создать таблицу, используякоманду 'bq query' и используйте 'bq extract' для извлечения данных.

Я ищу какой-нибудь лучший способ добиться этого, выполнив что-то вроде ниже.

bq extract 'select dept_id,sum(sal) from temp.employee 
                                 group by dept_id' 'gs://XXXX/employee.csv'

Заранее спасибо

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

BigQuery не предоставляет возможность напрямую экспортировать / загружать результат запроса в GCS или в локальный файл.Сначала вам нужно получить результат запроса либо в явно заданной целевой таблице, либо, если она не установлена, вы можете использовать временную (анонимную) таблицу, которая содержит результат запроса - вы можете получить его (таблицу) из соответствующего атрибута задания configuration.query.destinationTable (после завершения задания)
Затем вы можете использовать эту таблицу в качестве источника для экспорта задания

0 голосов
/ 12 июля 2018

Как указывает @MikhailBerlyan, вам нужна промежуточная таблица.Это можно сделать с помощью пользовательского интерфейса BigQuery:

  • Запустить запрос на фильтрацию («выберите dept_id, sum (sal) из группы temp.employee с помощью dept_id» в вашем случае).
  • Как только запрос будет завершен, нажмите Save as->Save as table.На этом шаге создается промежуточная таблица с выполненной фильтрацией.
  • Откройте эту таблицу и в самой правой части нажмите Export->Export to GCS.

Вот документация для экспорт .

0 голосов
/ 24 мая 2018

Фильтрация для экспорта не поддерживается.Вы можете сохранить результат запроса как другую временную таблицу и экспортировать эту таблицу, так что это будет двухэтапный процесс.

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