【问题标题】:Multiregion Cloud SQL federated BigQuery queries do not work多区域 Cloud SQL 联合 BigQuery 查询不起作用
【发布时间】:2020-02-05 17:36:02
【问题描述】:

根据 Cloud SQL 联合查询文档,可以运行多区域 BigQuery 作业来查询指定多区域所包含的区域中的 Cloud SQL 实例:

BigQuery 多区域可以查询同一位置(美国、欧洲)的任何 Cloud SQL 区域。例如:

  • BigQuery US 多区域可以查询 Cloud SQL us-central1, us-east4、us-west2 等。

  • BigQuery EU 多区域可以查询 Cloud SQL europe-north1、europe-west2 等。

但是,当我尝试在 us-east4 中的 Cloud SQL 实例上运行查询时,它的处理位置为 US,它会引发一个神秘错误。

SELECT id FROM EXTERNAL_QUERY("project.us-east4.external_conn_name", "SELECT id FROM users")

拒绝访问:URI:projects/project/locations/us-east4/connections/external_conn_name:APPLICATION_ERROR;google.cloud.bigquery.connection.v1beta1/ConnectionService.GetPrivateConnectionInfo;RPC 错误;AppErrorCode=7;

当使用 us-east4 的处理位置运行相同的查询时,该查询成功完成。

我已经成功运行多区域联合查询大约两个月来执行 ETL 作业,以类似于here 中描述的答案的方式将 us-east4 中的 Cloud SQL 数据加载到美国的 BigQuery 数据集。我的云团队已审核 IAM 更改,似乎没有任何更改可能导致此问题。似乎昨晚谷歌云平台悄悄发布了一些更改,它破坏了我运行的大约 100 个 ETL 作业。我正在争先恐后地想出一个快速解决方案,以便我的公司可以继续使用依赖于这些 ETL 作业的数据。关于如何解决此问题的任何想法?

【问题讨论】:

  • 遇到了类似的问题。我们在 us-west2 中部署了 Cloud SQL。我们的大查询数据集是美国多区域。突然间,我们的 bigquery 计划的在两者之间连接的查询中断了。我们使用 BigQuerySource 从 us-west2 cloudsql 获取数据的数据流作业停止工作。并且没有简单的方法可以将 bigquery 数据集从一个区域移动到另一个区域。而且 us-west2 中也没有数据流。我知道 CloudSQL 联合查询是一个 beta 产品。但这是一个如此基本和必不可少的功能......
  • @hufeng03 你做了什么来修复你的坏工作?
  • 为了解决这个问题,我们在 us-center1 中添加了我们在 us-west2 中的主云 SQL 数据库的新读取副本。

标签: google-cloud-platform google-bigquery


【解决方案1】:

我已就此向 GCP 提交了几个问题,但仍未收到回复。希望这将很快得到解决。

这是我为修复此问题所做的工作:

  1. 使用与 Cloud SQL 实例位于同一区域 (us-east4) 的数据集目标运行上述提取作业
  2. 将上述数据导出到与步骤 1 (us-east4) 位于同一区域的 GCS 存储桶
  3. 运行 Cloud Storage Transfer Service 作业,将 GCS 存储桶中的数据复制到与最终目标 BigQuery 数据集(美国)位于同一多区域的 GCS 存储桶
  4. 将多区域 GCS 存储桶中的数据加载到多区域 BigQuery 数据集中

这已将快速可靠的单步 ETL 转变为昂贵的四步 ETL,其中涉及大量中间存储。请谷歌解决这个问题!

【讨论】:

  • 谷歌已经默默地修复了这个问题。从来没有给我任何回应,但不再需要这种解决方法
  • 嗨,我偶然发现了同样的问题,我在 BQ 中的所有现有操作和数据集都在欧盟多区域中,我正在尝试从云 SQL 实例添加一个新源,即在 europe-west1 位置,我做不到。当我尝试对来自“europe-west1”位置的云 SQL 实例使用联合查询时,处理位置设置为“EU”,我收到 Error running query Not found: Connection 错误,当您说谷歌已经默默地解决了这个问题时,您是什么意思?它应该有效还是我在这里误解了一些东西?
猜你喜欢
  • 1970-01-01
  • 2021-01-17
  • 2018-03-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-11
  • 2018-03-22
相关资源
最近更新 更多