Чтобы получить более содержательную и содержательную информацию по этому вопросу, я бы посоветовал вам ознакомиться с этой хорошей письменной статьей, посвященной потоковым вставкам Bigquery жизненный цикл , использующим табличных данных. insertAll Метод Bigquery REST API .
На самом деле, как говорится в документации, данные Доступность и Согласованность являются наиболее важными требованиями для приема внутрь. данные в задачах анализа в реальном времени:
Поскольку Потоковый API BigQuery разработан для высокой скорости вставки, изменения в метаданных базовой таблицы в конечном итоге становятся согласованными при взаимодействии с потоковой системой. , В большинстве случаев изменения метаданных распространяются в течение нескольких минут, но в течение этого периода ответы API могут отражать несогласованное состояние таблицы.
Признание того факта, что в некоторых случаях, когда изменения метаданных требуются, встроено в потоковые приемы. Документация подтверждает задержку выполнения этого. Даже механизм кэширования, целью которого является сбор метаданных из таблиц при некоторых обстоятельствах, не гарантирует изменения данных, то есть ссылки на потоковые инъекции в несуществующую таблицу или целые столбцы в кратчайший момент. Из-за сложности безсерверной платформы GCP Bigquery, которая изначально была построена на основе модели Dremel , вряд ли можно оценить время задержки для высокой пропускной способности конкретной задачи потоковой передачи, поэтому это не задокументировано в GCP база знаний.
Тем временем, читая этот стек thread , @Sean Chen порекомендовал внести изменения в метаданные Bigquery перед запуском потоковых загрузок.