数据流管道设计用于实时聚合分析

时间:2018-04-14 14:18:53

标签: google-cloud-dataflow google-cloud-pubsub

我的案例如下:

1)使用pubsub作为数据流中的输入,并将流数据加载到bigquery 2)从bigquery中选择聚合结果并加载到pubsub作为输出 3)监听pubsub显示的客户端

e.g。我有销售交易,希望实时查看区域(汇总)销售数据。我知道我可以使用2个管道来加载数据到bigquery(1)和其他数据流管道以获得聚合结果并推送到pubsub。

在单一管道中有什么办法吗?因为我不想构建业务流程层(即在第一个管道完成后,调用2个管道)。初始化管道成本很高。

感谢。

2 个答案:

答案 0 :(得分:1)

我认为这可以通过单个数据流管道来完成,其中pubsub作为输入,bigquery和pubsub作为接收器。

基本上: 1. PubsubIO - > PCollection A. 2. A - > BigQueryIO 3. A - > Window.into(...) - > PCollection B. 4. B - > GroupBy(...) - > ParDo - > C 5. C - > PubsubIO

<强> https://beam.apache.org/get-started/mobile-gaming-example/

答案 1 :(得分:0)

如果您要将原始交易加载/流式传输到BigQuery中,则还可以考虑使用semi unbounded stream

使用BigQuery本身以具有成本效益的方式构建实时聚合