将Google PubSub主题中的数据流式传输到Google BigQuery

时间:2018-05-03 10:20:15

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

我想阅读Google PubSub主题上的传入数据,处理数据并将其转换为统一数据结构,然后将其插入Google BigQuery中的数据集中。根据我的理解,可以使用某种流式传输数据的管道。但是,我很难找到实现这一目标的任何好的和简洁的例子。

我的项目是用Scala编写的,所以我更喜欢用该语言编写的示例。否则Java中简洁的东西也会起作用。

谢谢!

1 个答案:

答案 0 :(得分:4)

我会说Google Cloud Dataflow是您用例的正确产品。它正好用于您所描述的内容:从不同来源读取输入数据(在您的情况下为Pub / Sub),转换它,并将其写入接收器(此处为BigQuery)。

Dataflow适用于批量流式传输管道。在前者中,所有数据在创建时都可用,而后者是您需要的版本,它从无限制的源(例如,Pub / Sub订阅)连续读取,并且一旦处理数据就会立即处理到达管道。

此外,您会发现Dataflow团队最近发布了一些模板的测试版,您可以使用这些模板,以便更轻松地开始使用Dataflow。在这种情况下,甚至可以使用Cloud Pub/Sub to BigQuery template,您可以按原样使用它,或者修改其源代码(在the official GitHub repository中可用)以添加要在Pub之间应用的任何转换/ Sub-read和BigQuery-write。

请注意,最新的Dialogflow Java SDK基于Apache Beam,其中包含大量您可能感兴趣的文档和代码参考: