我希望使用Dataflow将事件从PubSub流流到BigQuery。我看到在GCP中有两个模板可以实现这一点:一个是Dataflow从主题中读取消息,另一个是订阅。
在这里使用订阅的好处是什么,而不仅仅是使用主题中的事件?
发布于 2019-05-24 16:17:36
BigQuery的主题和BigQuery模板的订阅都会消耗来自Pub/Sub的消息,并将它们流到BigQuery中。
如果将主题用于BigQuery模板,则Dataflow将在幕后为您创建从指定主题读取的订阅。如果使用BigQuery模板的订阅,则需要提供自己的订阅。
您可以使用BigQuery模板的订阅来模拟主题到BigQuery模板的行为,方法是创建从同一主题读取的多个与订阅连接的BigQuery管道。
对于新部署,最好使用对BigQuery模板的订阅。如果使用主题到BigQuery模板停止并重新启动管道,将创建新的订阅,这可能会导致您错过在管道关闭时发布的一些消息。对BigQuery模板的订阅没有这个缺点,因为即使在重新启动管道之后,它也使用相同的订阅。
发布于 2019-05-24 15:19:43
核心概念
根据核心概念,区别相当简单:
因此,在您的例子中,选择一个subscription.
更多信息:
请注意,Pub/Sub使用自己的消息存储来管理主题。但是,Cloud /Sub主题对于BigQuery模板特别有用,当您希望在BigQuery中移动这些消息时(并最终执行您自己的分析)。
Cloud /Sub主题到BigQuery模板是一个流管道,它从Cloud /Sub主题读取JSON格式的消息并将它们写入BigQuery表。您可以将模板用作将Cloud /Sub数据移动到BigQuery的快速解决方案。模板从Cloud /Sub读取JSON格式的消息,并将它们转换为BigQuery元素。
https://cloud.google.com/dataflow/docs/guides/templates/provided-streaming#cloudpubsubtobigquery
免责声明:评论和意见是我自己的,而不是我的雇主的意见。
https://stackoverflow.com/questions/56295345
复制相似问题