Задание потока данных не может выполнить запись в набор данных BigQuery в другом регионе, даже если для зоны задан регион набора данных bigquery - PullRequest
0 голосов
/ 05 марта 2020

Мы пишем задание Dataflow для записи данных из JSON из хранилища в набор данных BigQuery. И хранилище данных, и набор данных BigQuery находятся в регионе X. Однако конечная точка потока данных недоступна в регионе X. Ближайший регион Y. Итак, я установил область задания Dataflow как Y, а zone как X. Итак, все экземпляры вычислений вращаются в области X. Тем не менее задание Dataflow завершается с ошибкой:

Невозможно прочитать и записать в разных местах: источник: Y, место назначения: X

Хранение как временного, так и промежуточного местоположения сегменты установлены в область x.

Используется версия луча 2.17, а SDK - Python SDK.

Мы создаем шаблон потока данных и запускаем его (DataflowRunner). Шаблон также в регионе X.

1 Ответ

0 голосов
/ 05 марта 2020

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

Обратите внимание, что при чтении или записи в BigQuery корзина Google Cloud Storage используется для промежуточные файлы, на этом основании задание не выполнено, поскольку ваше местоположение промежуточного сегмента потока данных находится в другом регионе, чем ваш набор данных BigQuery, и это могло вызвать ошибку.

Еще одна вещь, убедитесь, что вы указали все необходимые параметры конвейера . Надеюсь, это поможет.

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