【发布时间】:2016-02-04 18:46:58
【问题描述】:
我正在研究分析流数据(网络事件)。
是否有一个好的经验法则可以帮助我确定是否应该这样做
- 在 Dataflow 中执行分组和聚合并写入输出
或
- 使用 Dataflow 流式传输到 Big Query,并可能使用范围装饰器来限制数据/对分区使用窗口函数并通过 SQL 聚合。
查看文档和本文中的示例 https://cloud.google.com/dataflow/blog/dataflow-beam-and-spark-comparison
经典的批处理编程、每小时团队得分、历史用户得分、用户行为分析感觉就像通过 SQL 直接创建(给定 "created" 和 "write" 时间戳被记录)
垃圾邮件过滤示例我可以看到使用 BQ 的限制,如果它应用在每个事件流的基础上)。
Dataflow 的语义在 GroupBy、Join、Combine、Windowing 以及支持流式插入的 BQ 方面似乎有重叠,可在几秒钟内获得可用性,对于小时级聚合来说足够短。
有什么基本的我不明白吗?或者是否存在流入 BigQuery 然后查询将开始变得不可靠的情况?
谢谢
克里斯
(抱歉,如果这个问题有点含糊 - 很高兴被重定向到更好的地方提问)
【问题讨论】:
标签: google-bigquery google-cloud-dataflow