我想在 Google Big Query 中启动一个数据仓库,但我不确定如何实际安排作业以将数据传输到云端。
提供一些背景知识。 我有一个本地托管的 MySQL 数据库,目前我每晚都将其作为备份。我的想法是,我可以将此转储发送到 Google Cloud 并将其导入到 Big Query 中。 我认为我可以发送转储,并可能使用云调度程序功能来运行打开转储的程序并执行此操作,但我不确定这些服务如何组合在一起。
我对 Google Cloud 有点陌生,因此如果有更好的方法来实现这一目标,那么我很乐意改变我的行动计划。
提前致谢。
最佳答案
随着新的 EXTERNAL_QUERY 已经启动,您可以从 BigQuery 查询 Cloud SQL 实例,您现在最好的选择是:
- 设置从当前实例到 Cloud SQL 实例的副本,请按照此操作 guide 。
- 了解如何 Cloud SQL federated queries让您从 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;
关于mysql - 从本地数据库将数据加载到 Bigquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58093678/