Google bigquery 有何利弊?;将数据流传输到Bigquery与将数据上载到PubSub,然后使用数据流将数据插入到Bigquery之间的缺点

Google bigquery 有何利弊?;将数据流传输到Bigquery与将数据上载到PubSub,然后使用数据流将数据插入到Bigquery之间的缺点,google-bigquery,google-cloud-dataflow,google-cloud-pubsub,Google Bigquery,Google Cloud Dataflow,Google Cloud Pubsub,据我所知,将数据流式传输到BigQuery会导致重复的行,正如这里所提到的 另一方面,将数据上载到PubSub,然后使用数据流将数据插入到Bigquery将防止重复的行?。这里还有一个实时数据分析教程 那么,还有什么其他的优点和缺点,在什么情况下,我应该使用数据流从PubSub流式传输数据?通过Google数据流和PubSub,您将完全控制流式传输数据,您可以实时分割数据,实现您自己的业务逻辑,并最终将其写入BigQuery表。另一方面,使用其他方法直接使用BigQuery作业将数据流传输到Bi

据我所知,将数据流式传输到BigQuery会导致重复的行,正如这里所提到的

另一方面,将数据上载到PubSub,然后使用数据流将数据插入到Bigquery将防止重复的行?。这里还有一个实时数据分析教程


那么,还有什么其他的优点和缺点,在什么情况下,我应该使用数据流从PubSub流式传输数据?通过Google数据流和PubSub,您将完全控制流式传输数据,您可以实时分割数据,实现您自己的业务逻辑,并最终将其写入BigQuery表。另一方面,使用其他方法直接使用BigQuery作业将数据流传输到BigQuery,您肯定会失去对数据的控制

利与弊实际上取决于您需要如何处理流式数据。如果您正在执行平面插入,则不需要数据流,但是如果您需要一些严肃的计算,如按键分组、合并、分区、对流数据求和,那么数据流可能是实现这一点的最佳方法。要记住的是成本,一旦您开始向PubSub注入大量数据并使用数据流来处理这些数据,成本就开始增加

要回答您的问题,可以使用数据流消除重复行。由于数据流对数据具有完全控制权,您可以使用管道过滤器检查是否存在满足重复值的任何条件。我使用数据流管道的当前场景是实时操纵客户日志记录,并对通过PubSub传递的数据流和日志流进行严重的预聚合。Dataflow对于批处理和流式数据操作都非常强大。希望这有帮助