Задержка при обновлении схемы BigQuery - PullRequest
0 голосов
/ 24 марта 2020

У меня возникают некоторые проблемы, связанные с задержкой при обновлении схемы BigQuery.

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

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

Это все еще так, и как вы обходите это? Если ответом является тайм-аут, то как долго вы должны ждать, прежде чем писать в новые столбцы?

1 Ответ

0 голосов
/ 01 апреля 2020

Чтобы получить более содержательную и содержательную информацию по этому вопросу, я бы посоветовал вам ознакомиться с этой хорошей письменной статьей, посвященной потоковым вставкам Bigquery жизненный цикл , использующим табличных данных. insertAll Метод Bigquery REST API .

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

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

Признание того факта, что в некоторых случаях, когда изменения метаданных требуются, встроено в потоковые приемы. Документация подтверждает задержку выполнения этого. Даже механизм кэширования, целью которого является сбор метаданных из таблиц при некоторых обстоятельствах, не гарантирует изменения данных, то есть ссылки на потоковые инъекции в несуществующую таблицу или целые столбцы в кратчайший момент. Из-за сложности безсерверной платформы GCP Bigquery, которая изначально была построена на основе модели Dremel , вряд ли можно оценить время задержки для высокой пропускной способности конкретной задачи потоковой передачи, поэтому это не задокументировано в GCP база знаний.

Тем временем, читая этот стек thread , @Sean Chen порекомендовал внести изменения в метаданные Bigquery перед запуском потоковых загрузок.

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