как обновлять фоновые данные Big Query при каждой загрузке для корзины - PullRequest
0 голосов
/ 05 мая 2018

Я создал большой запрос на основе данных, хранящихся в моем хранилище облачных хранилищ.

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

Можно ли получить обновленные данные в Big Query, так как я каждый раз помещаю новые данные в одно и то же ведро на некотором интервале.

Просто упомяну - я делаю собственный запрос Big из моего выделенного хранилища, упомянутого выше.

Ваша помощь будет высоко оценена. заранее спасибо.

1 Ответ

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

Вы можете создать внешнюю (объединенную) таблицу в Google Cloud Storage Bucket. Есть детали https://cloud.google.com/bigquery/external-data-cloud-storage Так что в этом случае всякий раз, когда вы запрашиваете эту таблицу, вы получите последние данные.

Если вам просто нужно добавить данные в таблицу (пусть она называется целевой таблицей) на основе данных из корзины - я могу представить следующий процесс: 1. Вы создаете федеративную таблицу в ведре GCS 2. Вы настраиваете простое задание cron, которое запускает команду bq, которая просто выполняет select * from [federated_table] и добавляет результат в целевую таблицу (у вас может быть более сложный запрос, который будет проверять дублирование данных в целевой таблице, только добавляя новые данные.

Альтернативный вариант: Вы настраиваете триггер в своем сегменте, который активирует облачную функцию https://cloud.google.com/functions/docs/calling/storage, а в облачной функции вы просто загружаете только что добавленные данные в целевую таблицу

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