【问题标题】:How do we map multiple collections to multiple topics in the mongodb-sink-connector?我们如何将多个集合映射到 mongodb-sink-connector 中的多个主题?
【发布时间】:2020-05-02 21:58:12
【问题描述】:

我正在使用 mongodb sink 连接器从一些主题 json 数据中读取,然后将它们写入 mongodb 中各自的集合中。但是,当我使用主题集合映射提供多个集合时,连接器无法识别集合名称,而是创建名称与主题相同的集合。以下是工作人员配置:

name=sink-mongonew_Transaction_test4
connector.class=com.mongodb.kafka.connect.MongoSinkConnector
connection.uri=mongodb://****:27017
database=ec_ods
topics=t6,t5
collections=abc,def
collection.t6=abc
collection.t5=def
type.name=kafka-connect
key.ignore=true
document.id.strategy.abc=com.mongodb.kafka.connect.sink.processor.id.strategy.PartialValueStrategy
value.projection.type.abc=whitelist
value.projection.list.abc=ID
writemodel.strategy.abc=com.mongodb.kafka.connect.sink.writemodel.strategy.UpdateOneTimestampsStrategy
document.id.strategy.def=com.mongodb.kafka.connect.sink.processor.id.strategy.PartialValueStrategy
value.projection.type.def=whitelist
value.projection.list.def=ID
writemodel.strategy.def=com.mongodb.kafka.connect.sink.writemodel.strategy.UpdateOneTimestampsStrategy
delete.on.null.values=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter
key.converter.schemas.enable=false
value.converter.schemas.enable=false
internal.key.converter=org.apache.kafka.connect.json.JsonConverter
internal.value.converter=org.apache.kafka.connect.json.JsonConverter
internal.key.converter.schemas.enable=false
internal.value.converter.schemas.enable=false

【问题讨论】:

    标签: mongodb apache-kafka apache-kafka-connect


    【解决方案1】:

    这是更新后的链接。

    https://github.com/mongodb/mongo-kafka/blob/master/config/MongoSinkConnector.properties

    我猜 repo 已经更新了。

    【讨论】:

      【解决方案2】:

      https://github.com/mongodb/mongo-kafka/blob/master/config/MongoSinkConnector.properties

      我在上面的链接中发现了一种使用多个集合的不同方式,它使用覆盖,甚至允许同时为多个集合使用全局和局部属性分配。

      【讨论】:

      • 这个页面给出了 404。还有其他链接吗?
      【解决方案3】:

      这里是 MongoDB Kafka 接收器连接器 https://github.com/mongodb-labs/mongo-kafka/blob/master/docs/sink.md 的正确文档的链接

      根据文档,您应该使用 topic.override.%s.%s 属性

      覆盖配置允许每个主题自定义 配置。自定义覆盖与默认值合并 配置,为主题创建特定配置。为了 例如,topic.override.foo.collection=bar 将存储来自 foo 主题进入 bar 集合。注意:所有配置选项 除了 'connection.uri' 和 'topics' 是可覆盖的。字符串“”

      【讨论】:

        猜你喜欢
        • 2022-08-11
        • 2021-03-10
        • 2019-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-08-05
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多