我想将BigQuery中的数据(即报告)转储到CloudSQL数据库中,以编程方式实现此目的的最佳方法是什么?
我意识到我可以通过运行BigQuery查询,将其下载为CSV,然后通过云控制台上传来执行此操作manually,但我想以编程方式执行此操作,最好是在Python / SQL中。
答案 0 :(得分:7)
如果您想转储整个表,可以结合使用BigQuery和Cloud SQL API来实现这一目标。
用于将BigQuery表提取到云存储的BigQuery文档has an API example in python。
数据进入云存储后,您可以使用Cloud SQL Admin API将数据导入MySQL表。
如果您需要更精细的控制,可以使用BigQuery API执行查询,获取结果,连接到Cloud SQL实例并插入数据。如果数据量很大,这将无法执行。
更复杂的方法是使用Dataflow将您感兴趣的数据写入云存储,并使用Cloud SQL API导入它。
(出于我自己的好奇心,您能描述一下在Cloud SQL而不是BigQuery中想要数据的用例吗?它将帮助我/我们了解客户如何使用我们的产品以及我们可以改进的地方。)