我想阅读Google PubSub主题上的传入数据,处理数据并将其转换为统一数据结构,然后将其插入Google BigQuery中的数据集中。根据我的理解,可以使用某种流式传输数据的管道。但是,我很难找到实现这一目标的任何好的和简洁的例子。
我的项目是用Scala编写的,所以我更喜欢用该语言编写的示例。否则Java中简洁的东西也会起作用。
谢谢!
答案 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,其中包含大量您可能感兴趣的文档和代码参考: