我在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,它不工作。它抛出了一个错误,说它需要一个字符串。
1条答案
按热度按时间qxsslcnc1#
显然,WriteToMongoDB不允许动态目标,因为它只接受一个字符串。
我建议在apache/beam上打开一个功能请求。
集合名称是动态的,还是只有一个子集?作为一种解决方法,您可以创建几个filters + WriteToMongoDB的组合,以允许发送到不同的接收器。