【发布时间】:2026-01-30 00:30:01
【问题描述】:
在构建旨在将 BigQuery 中每个键的最新数据存储到的数据流管道时,这是一种有效的方法
- 将事件流式插入到分区临时表中
- 定期合并(更新/插入)到目标表中,(这样只有键的最新数据才会存储在该表中)。要求每 2-5 分钟进行一次合并,并考虑暂存表中的所有行。
这种方法的想法取自谷歌项目https://github.com/GoogleCloudPlatform/DataflowTemplates, com.google.cloud.teleport.v2.templates.DataStreamToBigQuery
到目前为止,它在我们的测试中运行良好,这里的问题源于 Google 在其文档中声明的事实:
“最近使用流式传输(tabledata.insertall 方法或 Storage Write API)写入表的行无法使用 UPDATE、DELETE 或 MERGE 语句进行修改。” https://cloud.google.com/bigquery/docs/reference/standard-sql/data-manipulation-language#limitations
有人在生产数据流管道中走这条路并获得稳定的积极结果吗?
【问题讨论】:
标签: google-bigquery google-cloud-dataflow apache-beam