Атомная загрузка нескольких таблиц в Google BigQuery - PullRequest
0 голосов
/ 29 октября 2018

Я пытаюсь выполнить операцию загрузки в bigquery из файлов GCS, используя load_job в ruby.

Проблема в том, что когда в GCS несколько файлов влияют на разные таблицы, есть вероятность, что некоторые из них могут потерпеть неудачу из-за проблем с проверкой / сетью, что приведет к несогласованности данных в больших запросах. Допустим, я хочу загрузить данные за последний час, которые хранятся в 5 файлах, даже если одно из этих заданий загрузки будет неудачным, у меня будут плохие данные для аналитики.

Есть ли способ объединить все эти задания загрузки в один атомарный запрос в bigquery?

1 Ответ

0 голосов
/ 29 октября 2018

Почему бы вам не попробовать BQ Sink или потоковую передачу данных в BQ. С Sinks вы будете рассчитывать на архитектуру подчеркивания BQ, которая достаточно стабильна и последовательна для перемещения данных из текстовых файлов в таблицы BQ. Благодаря потоковой передаче данных вы сможете лучше контролировать свои транзакции. Затем вы можете убедиться, что ваши данные перемещаются правильно построчно.

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