我正在为公司设计一种新方法,以从多个MongoDB数据库中流式传输数据,执行一些任意的初始转换,并将其下沉到BigQuery中。
有各种各样的要求,但关键的要求是速度和在到达数据仓库之前忽略或删除某些字段的能力。
我们正在使用Dataflow基本上做到这一点:
MongoDB -> Dataflow (Apache Beam, Python) -> BigQuery
我们基本上只需要等待collection.watch()
调用作为输入,但是根据文档和现有研究可能无法实现,
目前,MongoDB连接器是有界的,似乎没有任何可用的解决方案可以无限制地从changeStream或集合中读取内容。
是否可以从changeStream读取并让管道等待直到任务被杀死而不是不在记录中?
在这种情况下,我决定通过Google Pub / Sub作为无限制的数据源。