gpt4 book ai didi

mongodb - 如何告诉 MongoSource(使用 Kafka Connect)序列化什么 Key

转载 作者:行者123 更新时间:2023-12-05 06:22:02 24 4
gpt4 key购买 nike

我正在使用 mongo 源来监听 mongo 更改流并将所有事件放入 kafka,但我正在努力寻找一种从事件中提取“真实” key 的方法。我试过转换,但没有成功,报错:

Caused by: org.apache.kafka.connect.errors.DataException: Only Struct objects supported for [copying fields from value to key], found: java.lang.String

在 Mongo 源代码中我找到了这个 line

这基本上意味着它甚至没有一些关键处理,相反,它寻找“_id”字段(这不是文档的 id,它是一个恢复 token 信息)

相反,我想将主题的键设置为“documentKey”。

这是连接器获取的事件示例:

{
"_id": {
"_data": "DSAD45543FFWEHTEY004....."
},
"operationType": "replace",
"clusterTime": {
"$timestamp": {
"t": 1446707990,
"i": 1
}
},
"fullDocument": {
"_id": {
"$binary": "FxVFgHFRhrr/z+zUc/w==",
"$type": "03"
},
...
},
"ns": {
"db": "somedb",
"coll": "somecol"
},
"documentKey": {
"_id": {
"$binary": "FxVFgHFRhrr/z+zUc/w==",
"$type": "03"
}
}
}

我使用了以下配置:

"transforms":"createKey",
"transforms.createKey.type":"org.apache.kafka.connect.transforms.ValueToKey",
"transforms.createKey.fields":"documentKey"

我试过:

org.apache.kafka.connect.json.JsonConverter

还有 StringConverter(虽然我不认为这可以用字符串来完成)

org.apache.kafka.connect.storage.StringConverter

有没有办法提取 key ?请注意:模式已禁用。

最佳答案

这是因为 MongoDB Source Connector for Kafka 还不支持。从 1.3 版开始,它应该支持高级 key 选择。

https://jira.mongodb.org/browse/KAFKA-40

关于mongodb - 如何告诉 MongoSource(使用 Kafka Connect)序列化什么 Key,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59458799/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com