首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据kafka主题名称或消息键/值,使用mongodb接收器连接器对不同dbs和集合中的kafka主题进行分组

如何根据kafka主题名称或消息键/值,使用mongodb接收器连接器对不同dbs和集合中的kafka主题进行分组
EN

Stack Overflow用户
提问于 2022-09-24 16:30:33
回答 2查看 47关注 0票数 0

正如标题所述,我使用debezium Postgres源连接器,并且我希望MongoDB接收器连接器根据不同的集合和数据库(也不同的dbs来分离无关数据)中的名称对kafka主题进行分组。在询问时,我在蒙戈博士上看到了蒙戈博士连接器属性。不幸的是,这只为每个kafka主题创建了一个集合,该集合成功地与指定的regex匹配,我计划使用相同的mongodb服务器来存储从多个debezium源连接器中捕获的许多dbs。你能帮帮我吗?

注意:我读过这个Mongo接收器设置FieldPathNamespaceMapper,但我不确定它是否符合我的需要,也不确定如何正确配置它。

EN

回答 2

Stack Overflow用户

发布于 2022-09-25 13:07:05

topics.regex是一个普通的水槽连接器胡椒,不是唯一的蒙古族。

如果我正确地理解了这个问题,显然只有集合才会在已配置的数据库中为实际存在的Kafka主题创建集合(匹配模式)并被接收器占用。

如果您想要与模式不匹配的集合,那么您仍然需要使用它们,但是在将记录写入Mongo之前,需要通过RegexRouter转换显式地重命名主题

票数 0
EN

Stack Overflow用户

发布于 2022-09-25 16:21:55

在kafka中,工作人员是可以运行多个连接器的简单容器。对于每个连接器,工作人员根据内部规则和配置生成任务。因此,如果您查看mongodb接收器连接器配置:

https://www.mongodb.com/docs/kafka-connector/current/sink-connector/configuration-properties/all-properties/

您可以使用相同的connection.uri、数据库和集合或不同的值创建不同的连接器。因此,您可以使用topics.regex或主题参数将单个连接器的主题与其自己的connection.uri、数据库和集合进行分组,并同时运行多个连接器。请记住,如果连接器中的tasks.max >1,则可能会按顺序读取消息。如果这不是问题,请在mongodb数旁边设置一个tasks.max值。员工将自动调整任务数量。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73838868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档