Задание Google Dataflow и BigQuery не работают в разных регионах
У меня есть задание Google Dataflow, которое не выполняется:
BigQuery job ... finished with error(s): errorResult:
Cannot read and write in different locations: source: EU, destination: US, error: Cannot read and write in different locations: source: EU, destination: US
Я начинаю работу с--zone=europe-west1-b
И это единственная часть конвейера, которая делает что-либо с BigQuery:
Pipeline p = Pipeline.create(options);
p.apply(BigQueryIO.Read.fromQuery(query));
Таблица BigQuery, из которой я читаю, содержит следующие детали: Data Location EU
Когда я запускаю работу локально, я получаю:
SEVERE: Error opening BigQuery table dataflow_temporary_table_339775 of dataset _dataflow_temporary_dataset_744662 : 404 Not Found
Я не понимаю, почему он пытается записать в другое место, если я только читаю данные. И даже если ему нужно создать временную таблицу, почему она создается в другом регионе?
Есть идеи?
1 ответ
Решение
Я бы предложил проверить:
- Если промежуточное местоположение для потока данных Google находится в той же зоне.
- Если местоположение Google Cloud Storage, используемое в Dataflow, также находится в той же зоне.