BigQuery для GCS JSON - PullRequest
       9

BigQuery для GCS JSON

0 голосов
/ 25 сентября 2019

Я хотел иметь возможность хранить результаты Bigquery в виде файлов json в облачном хранилище Google.Я не мог найти OOB способ сделать это, поэтому мне нужно было

  1. Выполнить запрос к Bigquery и сохранить результаты в постоянных таблицах.Я использую случайный гид, чтобы назвать постоянную таблицу.
  2. Чтение данных из bigquery, преобразование их в json в моем коде на стороне сервера и загрузка данных json в GCS.
  3. Удалить постоянную таблицу.
  4. Вернуть URL-адрес файла JSON в GCS во внешнее приложение.

Хотя это работает, есть некоторые проблемы с этим.

A.Я не верю, что я использую кэширование BigQuery, используя свои собственные постоянные таблицы.Кто-нибудь может это подтвердить?Б. Шаг 2 будет узким местом в производительности.Вытащить данные из GCP, чтобы выполнить преобразование JSON для повторной загрузки в GCP, кажется неправильным.Лучшим подходом было бы использовать некоторую облачную функцию без сервера или другую службу типа рабочего потока данных GCP, чтобы выполнить этот шаг, который запускается при создании новой таблицы в наборе данных.Как вы думаете, это лучший способ достичь этого шага?C. Неужели нет способа сделать это без использования постоянных таблиц?

Любая помощь приветствуется.Благодарю.

1 Ответ

1 голос
/ 25 сентября 2019

С сохраняемой таблицей вы можете использовать Экспорт больших данных для экспорта таблицы в формате JSON в GCS.Это не требует никаких затрат, по сравнению с тем, как вы читаете таблицу со стороны сервера.

В настоящее время действительно существует способ избежать создания постоянной таблицы.Потому что каждый результат запроса фактически является временной таблицей.Если вы перейдете к разделу «Информация о задании», то сможете найти полное имя временной таблицы, которую можно использовать при экспорте данных для экспорта в виде JSON в GCS.Однако это намного сложнее, чем просто создать постоянную таблицу и затем удалить ее.

...