mysql - 从本地数据库将数据加载到 Bigquery

标签 mysql google-cloud-platform google-bigquery

我想在 Google Big Query 中启动一个数据仓库,但我不确定如何实际安排作业以将数据传输到云端。

提供一些背景知识。 我有一个本地托管的 MySQL 数据库,目前我每晚都将其作为备份。我的想法是,我可以将此转储发送到 Google Cloud 并将其导入到 Big Query 中。 我认为我可以发送转储,并可能使用云调度程序功能来运行打开转储的程序并执行此操作,但我不确定这些服务如何组合在一起。

我对 Google Cloud 有点陌生,因此如果有更好的方法来实现这一目标,那么我很乐意改变我的行动计划。

提前致谢。

最佳答案

随着新的 EXTERNAL_QUERY 已经启动,您可以从 BigQuery 查询 Cloud SQL 实例,您现在最好的选择是:

  1. 设置从当前实例到 Cloud SQL 实例的副本,请按照此操作 guide
  2. 了解如何 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/

相关文章:

google-bigquery - 大查询,如果重复记录(展平)

php - mysql | mysql | PHP |在自己的表中加入

java - 如何使用客户端库 (java) 在 Google BigQuery 中加载 csv 数据时跳过标题行

mysql in 子句 vs 一次提交多次删除

google-cloud-platform - 通过 jenkins 推送 docker 镜像

google-cloud-platform - 谷歌云功能部署启动失败

java - BigQuery 上传 csv 文件的时间戳错误

google-analytics - GA 到 GBQ 数据流的时间?

mysql - Wordpress:以编程方式为前端创建子菜单

mysql - 如何对mysql中的数据进行编号