Cloud SQL 到 BigQuery 增量式

Pan*_*pai 3 dataflow google-cloud-sql google-bigquery google-cloud-platform google-cloud-dataflow

我需要为我正在处理的用例之一提供一些建议。

用例:

我们在 Cloud SQL 中有大约 5-10 个表的数据,有些被视为查找,有些被视为事务性的。我们需要以某种方式将其提供给 BigQuery,从中制作 3-4 个表(扁平化、嵌套或非规范化),这些表将用于 Data Studio、Looker 等中的报告。

数据应该以增量方式处理,并且 Cloud SQL 中的更改可能每 5 分钟发生一次,这意味着数据应该可以近乎实时地用于 BigQuery 报告。如果可能,我们还应该维护数据更改的历史记录。

解决方案:

我们在 BigQuery 中保留了 3 层,因此来自 Cloud SQL 的数据来到第一层,然后在展平后将其保存到第二层(维护历史记录),然后将其处理插入第三层(报告)。这种方法 问题在于,它是为日常处理而开发的,无法帮助处理 Cloud SQL 中每 5 分钟更改一次的数据。

欢迎任何建议。

注意:-我们需要使用 Dataflow、VM 或其他方式来进行一些逻辑处理,这意味着我们不能只使用计划查询,因为我们不能使用查询来处理所有逻辑,但是可以使用视图和代码的混合.

Fel*_*ffa 5

This is more straightforward than you might think: BigQuery can read data straight out of your Cloud SQL.

Docs:

More reading:

So all you need to do is write a MySQL query that finds all the changes from the last 5 minutes. You can run this query from within BigQuery - and materialize all the data into BigQuery with one query like:

INSERT INTO `dataset.table`

SELECT * 
FROM EXTERNAL_QUERY(
  'your.CloudSql.database'
  , 'SELECT * FROM users')
Run Code Online (Sandbox Code Playgroud)

  • 是否可以在 BigQuery 中每隔 5 分钟在计划查询中设置此查询?如果是这样,则同步接近实时 (2认同)