使用 Python 中 的 Apache Beam SDK 写入 MongoDB 中 的 动态 集合

iyzzxitl  于 2022-11-22  发布在  Go
关注(0)|答案(1)|浏览(132)

我在apache_beam.io中有一个带有科尔参数的查询。WriteToMongoDB

Pcoll
| "Write to Mongo" >> apache_beam.io.WriteToMongoDB(
            uri='someUri',
            db='someDb',
            coll='someColl',
            batch_size=10
        )

我想根据记录动态设置集合名称,而不是硬编码。例如,如果记录是dict.,并且它有record.tag = 'example'这样的内容,我想检索它并设置为coll.
我得到了一些类似的BigQuery引用,并尝试了科尔= lambda record:record.tag,它不工作。它抛出了一个错误,说它需要一个字符串。

qxsslcnc

qxsslcnc1#

显然,WriteToMongoDB不允许动态目标,因为它只接受一个字符串。
我建议在apache/beam上打开一个功能请求。
集合名称是动态的,还是只有一个子集?作为一种解决方法,您可以创建几个filters + WriteToMongoDB的组合,以允许发送到不同的接收器。

相关问题