将 Google Cloud SQL 数据导入 BigQuery 的最佳方式

问题描述 投票:0回答:5

我在 Cloud SQL 实例中有一个数据库。我想将其内容复制到 BigQuery 中以便执行分析。 我不需要不断更新 BigQuery 数据集。如果只导出一次就可以了。

实现这一目标的最佳方法是什么?

“创建表”BigQuery UI 不允许我从 Cloud SQL 导入(仅限文件、云存储、驱动器或 BigTable)。

google-bigquery google-cloud-sql
5个回答
13
投票

BigQuery 可以通过 Cloud SQL 联合查询直接查询 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;");

6
投票

创建与 CloudSQL 服务器的连接后,您可以使用它在单个查询中从 BigQuery 创建表。

CREATE TABLE CUSTOMER AS
SELECT * FROM EXTERNAL_QUERY("<your_connection_id>", "SELECT * FROM CUSTOMER");

3
投票

到目前为止,还没有任何自动化工具可以将数据从 Cloud SQL 导入 BigQuery,因此您可以遵循的过程包括:

  1. 按照文档中的说明,以 CSV 格式从 Cloud SQL 实例中所需的表中导出数据。
  2. 按照文档中
  3. 解释的过程,将 CSV 数据导入到您想要的 BigQuery 表中。
  4. 你已经完成了。如果您的数据库很大并且有很多表,您可能希望以编程方式进行导入,
使用 API


0
投票
Cloud Data Fusion

非常轻松地完成此操作(目前支持MySQL和SQL Server)。

    使用复制
  • MySQL 教程
  • (官方文档)
  • SQL Server 教程
  • (官方文档)

0
投票
https://cloud.google.com/datastream/docs/quickstart-replication-to-bigquery

这比此处答案中提到的其他方法要简单得多。

© www.soinside.com 2019 - 2024. All rights reserved.