我们已经在批处理模式下使用Dataflow一段时间了。但是,我们似乎无法找到有关其流媒体模式的更多信息。
我们有以下用例:
现在,我们当然可以在批处理模式下使用Dataflow,并从BigQuery中获取数据(基于时间戳),并以这种方式转换/清理/非规范化。
但这有点混乱,特别是因为数据是实时流式传输的,并且可能会真正弄清楚哪些数据需要处理。听起来也很脆弱。
如果我们可以简单地在Dataflow中进行转换/清理/非规范化,然后在>>中写入BigQuery ,那就太棒了。
这是Dataflow流媒体的目的吗?如果是这样,Dataflow可以在流模式下读取哪些数据源?
答案 0 :(得分:3)
是的,这是流模式的一个非常合理的用例。目前,我们支持通过PubsubIO
来源从Cloud Pub/Sub进行阅读。其他来源正在开发中。输出可以通过BigQueryIO
接收器写入BigQuery。 PCollection
docs涵盖了有界和无界源/汇之间的区别,以及当前可用的具体实现。
对于任何明显缺乏特定于流的文档,大多数统一模型适用于批处理和流式传输,因此没有特定于流的部分。也就是说,我建议查看PCollection
文档的Windowing和Triggers部分,因为这些部分在处理无界PCollection
时特别适用。