我在Cloud SQL实例中有一个数据库。我想将其内容复制到BigQuery中以执行分析。 我不需要不断更新BigQuery数据集。如果导出只进行一次就可以了。
实现这一目标的最佳方法是什么?
创建表格' BigQuery UI不允许我从Cloud SQL(仅文件,云存储,云端硬盘或BigTable)导入。
答案 0 :(得分:2)
BigQuery可以通过Cloud SQL federated queries直接查询Cloud SQL。它引入了一个新的SQL函数EXTERNAL_QUERY( connection_id , external_sql ),该函数在 connection_id指定的Cloud SQL数据库中运行 external_sql 。
您需要先在BigQuery中create connection,然后在EXTERNAL_QUERY()中引用 connection_id 。以下是将Cloud SQL数据复制到BigQuery的示例查询。
INSERT
demo.customers (column1)
SELECT
*
FROM
EXTERNAL_QUERY("project.us.connection",
"SELECT column1 FROM mysql_table;");
答案 1 :(得分:1)
到目前为止,还没有自动化工具可以将数据从Cloud SQL导入BigQuery,因此您可以遵循的步骤包括:
你完成了。如果您的数据库很大且有很多表,您可能希望以编程方式进行导入using the API。
答案 2 :(得分:1)
创建与CloudSQL服务器的连接后,您可以使用它在单个查询中通过BigQuery创建表。
CREATE TABLE CUSTOMER AS
SELECT * FROM EXTERNAL_QUERY("<your_connection_id>", "SELECT * FROM CUSTOMER");
答案 3 :(得分:0)
更新的解决方案:现在在测试版中,您可以使用 Cloud Data Fusion 非常轻松地完成此操作(目前支持 MySQL 和 SQL Server)。