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 或其他方式来进行一些逻辑处理,这意味着我们不能只使用计划查询,因为我们不能使用查询来处理所有逻辑,但是可以使用视图和代码的混合.
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)
| 归档时间: |
|
| 查看次数: |
1615 次 |
| 最近记录: |