首先,您不能从 MySQL 复制到 RedShift/BigQuery。
请理解 BigQuery 是一个分析型数据库。
建议您在 Cloud SQL 中从 MySQL 设置复制。然后在 BigQuery 中,您现在可以运行 EXTERNAL_QUERY,这意味着您可以使用 Cloud SQL MySQL 数据库查询/加入您的 BQ 数据库。
- 将当前实例的副本设置为 Cloud SQL 实例,请遵循本指南。
- 了解Cloud SQL 联合查询如何让您从 BigQuery Cloud SQL 实例中进行查询。
您可以通过这种方式实时访问您的关系数据库:
您在 BigQuery 上运行的示例查询:
SELECT * EXTERNAL_QUERY(
'connection_id',
'''SELECT * FROM mysqltable AS c ORDER BY c.customer_id'');
您甚至可以将 Bigquery 表与 SQL 表连接起来:
例子:
SELECT c.customer_id, c.name, SUM(t.amount) AS total_revenue,
rq.first_order_date
FROM customers AS c
INNER JOIN transaction_fact AS t ON c.customer_id = t.customer_id
LEFT OUTER JOIN EXTERNAL_QUERY(
'connection_id',
'''SELECT customer_id, MIN(order_date) AS first_order_date
FROM orders
GROUP BY customer_id''') AS rq ON rq.customer_id = c.customer_id
GROUP BY c.customer_id, c.name, rq.first_order_date;