【问题标题】:What are the pros&cons between streaming data to Bigquery vs upload data to PubSub and then using data flow to insert data to Bigquery将数据流式传输到 Bigquery 与将数据上传到 PubSub 然后使用数据流将数据插入到 Bigquery 之间的优缺点是什么
【发布时间】:2017-09-30 03:04:27
【问题描述】:
【问题讨论】:
标签:
google-bigquery
google-cloud-dataflow
google-cloud-pubsub
【解决方案1】:
借助 Google Dataflow 和 PubSub,您可以完全控制您的流数据,您可以实时对数据进行切片和切块,并实施您自己的业务逻辑,最后将其写入 BigQuery 表。另一方面,使用其他方法通过 BigQuery 作业直接将数据流式传输到 BigQuery,您肯定会失去对数据的控制。
优缺点实际上取决于您需要如何处理流数据。如果您正在执行平面插入,则不需要 Dataflow,但如果您需要一些严肃的计算,例如按键分组、合并、分区、求和流数据,那么 Dataflow 可能是最好的方法。要记住的是成本,一旦您开始向 PubSub 注入大量数据并使用数据流来操作这些数据,它就会开始变得昂贵。
要回答您的问题,是的,您可以使用 Dataflow 消除重复行。由于 Dataflow 对数据具有完全控制权,因此您可以使用管道过滤器来检查满足重复值的任何条件。我正在使用 Dataflow 管道的当前场景是实时操作我的客户日志记录,并通过 Dataflow 和通过 PubSub 传递的日志流完成严重的预聚合。 Dataflow 对于批处理和流式数据操作都非常强大。希望这会有所帮助。