我在Cloud SQL实例中有一个数据库。我想将其内容复制到BigQuery中进行分析。 对我来说,并不需要持续更新BigQuery数据集。如果只进行一次导出,那就可以了。
最好的方法是什么?
'Create Table' BigQuery界面不允许我从Cloud SQL导入(仅限文件、Cloud Storage、Drive或BigTable)。
我在Cloud SQL实例中有一个数据库。我想将其内容复制到BigQuery中进行分析。 对我来说,并不需要持续更新BigQuery数据集。如果只进行一次导出,那就可以了。
最好的方法是什么?
'Create Table' BigQuery界面不允许我从Cloud SQL导入(仅限文件、Cloud Storage、Drive或BigTable)。
通过Cloud SQL联合查询,BigQuery可以直接查询Cloud SQL。它引入了一个名为EXTERNAL_QUERY(connection_id, external_sql)的新SQL函数,该函数在由connection_id指定的Cloud SQL数据库中运行external_sql。
您需要首先在BigQuery中创建连接,然后在EXTERNAL_QUERY()中引用connection_id。以下是将Cloud SQL数据复制到BigQuery的示例查询:
INSERT
demo.customers (column1)
SELECT
*
FROM
EXTERNAL_QUERY("project.us.connection",
"SELECT column1 FROM mysql_table;");
在连接到您的CloudSQL服务器后,您可以使用它在单个查询中从BigQuery创建表。
CREATE TABLE CUSTOMER AS
SELECT * FROM EXTERNAL_QUERY("<your_connection_id>", "SELECT * FROM CUSTOMER");
更新的解决方案:现在在测试版中,您可以使用Cloud Data Fusion非常容易地完成此操作(目前支持MySQL和SQL Server)。