Google Dataflow 作业和 BigQuery 在不同区域失败

Google Dataflow job and BigQuery failing on different regions

我有一个 Google 数据流作业失败了:

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 table 有详细信息:Data Location EU

当我 运行 在本地工作时,我得到:

SEVERE: Error opening BigQuery table  dataflow_temporary_table_339775 of dataset _dataflow_temporary_dataset_744662  : 404 Not Found

我不明白如果我只是在读取数据,为什么它会尝试写入不同的位置。即使需要创建一个临时的 table,为什么要在不同的区域创建它?

有什么想法吗?

我建议验证一下:

  • 如果 Google 数据流的暂存位置在同一区域。
  • 如果Google Dataflow 中使用的云存储位置也在同一区域中。