【发布时间】:2018-02-06 03:19:28
【问题描述】:
假设我们有带有时间戳的日志数据,这些数据可以流式传输到 BigQuery 或作为文件存储在 Google Storage 中,但不能直接流式传输到 Dataflow 支持的无限收集源类型。
我们想根据时间戳来分析这些数据,无论是相对的还是绝对的,例如“最近 1 小时内点击了多少?”和“2018 年 2 月 5 日下午 3 点到 4 点之间有多少点击量”?
阅读了有关窗口和触发器的文档后,尚不清楚如果我们想要一个大窗口,我们将如何以 Dataflow 支持的方式将传入数据分成批次 - 可能我们希望在最后一天进行聚合、30 天、3 个月等。
例如,如果我们的批处理源是 BigQuery 查询,每 5 分钟运行一次,对于最后 5 分钟的数据,Dataflow 是否会在作业运行之间保持窗口打开,即使数据以 5 分钟的块到达?
同样,如果日志文件每 5 分钟轮换一次,并且我们在将新文件保存到存储桶时启动 Dataflow,则同样的问题适用 - 作业是否已停止和启动,并且先前作业的所有知识都已丢弃,或者大窗口(例如最多一个月)是否仍然为新活动打开?
我们如何在不干扰现有状态的情况下更改/修改此管道?
如果这些是基本问题,我们深表歉意,即使是指向某些文档的链接也将不胜感激。
【问题讨论】:
标签: google-cloud-dataflow apache-beam