Apache kafka 使用JSONConverter的Kafka connect MongoDB Kafka连接器不工作
我正在尝试配置Kafka连接器以使用mongoDB作为源,并将记录发送到Kakfa主题中。 我已经成功地做到了这一点,但我正在尝试使用JSONConverter来实现这一点,以便还使用有效负载保存模式 我的问题是连接器正在按如下方式保存数据:Apache kafka 使用JSONConverter的Kafka connect MongoDB Kafka连接器不工作,apache-kafka,apache-kafka-connect,Apache Kafka,Apache Kafka Connect,我正在尝试配置Kafka连接器以使用mongoDB作为源,并将记录发送到Kakfa主题中。 我已经成功地做到了这一点,但我正在尝试使用JSONConverter来实现这一点,以便还使用有效负载保存模式 我的问题是连接器正在按如下方式保存数据: { "schema": { "type": "string" } , "payload": "{....}" } 换句话说,它自动假设实际的JSON是一个字符串,并将模式保存为字符串 以下是我设置连接器的方式: curl -X POST http://l
{ "schema": { "type": "string" } , "payload": "{....}" }
换句话说,它自动假设实际的JSON是一个字符串,并将模式保存为字符串
以下是我设置连接器的方式:
curl -X POST http://localhost:8083/connectors -H "Content-Type: application/json" -d '{
"name": "newtopic",
"config": {
"tasks.max":1,
"connector.class":"com.mongodb.kafka.connect.MongoSourceConnector",
"key.converter":"org.apache.kafka.connect.json.JsonConverter",
"key.converter.schemas.enabled": "true",
"value.converter":"org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enabled": "true",
"connection.uri":"[MONGOURL]",
"database":"dbname",
"collection":"collname",
"pipeline":"[]",
"topic.prefix": "",
"publish.full.document.only": "true"
}}'
我是否缺少配置的某些内容?难道它就是不能猜测MongoDB中存储的文档的模式,所以它使用字符串吗?没有什么可以猜测的。Mongo是无模式的,上次我检查时,模式是字符串或字节。我建议使用AvroConverter或将schema enabled设置为false
您可能还想尝试使用Debezium,看看是否得到不同的结果没有什么可猜测的。Mongo是无模式的,上次我检查时,模式是字符串或字节。我建议使用AvroConverter或将schema enabled设置为false 您可能还想尝试使用Debezium来查看是否得到不同的结果最新的MongoDB连接器应该可以解决此问题。
它甚至提供了一个推断源模式的选项。最新的MongoDB连接器应该可以解决这个问题。
它甚至提供了一个推断源模式的选项。注意:Kafka Connect不是Confluent特有的。没有融合的卡夫卡诺:卡夫卡连接不是融合特有的。回复中没有融合的KafkaThanks,有几条评论:1-我知道mongo是无模式的,我觉得连接器会从提交的文档中推断模式。2-Debezium不是一个选项,因为confluent连接器具有我需要的一些功能。3-我需要模式,Avro使用pyspark API无法访问的模式注册表。1-有什么可以推断的?我以前从未将Mongo与模式一起使用过。。。2-Confluent未开发Mongo源连接器。Mongo公司确实。。。3-pyspark确实提供了Avro/schema注册表,我以前做过。感谢您的回复,我有几点意见:1-我知道mongo是无模式的,我觉得连接器会从提交的文档中推断出模式。2-Debezium不是一个选项,因为confluent连接器具有我需要的一些功能。3-我需要模式,Avro使用pyspark API无法访问的模式注册表。1-有什么可以推断的?我以前从未将Mongo与模式一起使用过。。。2-Confluent未开发Mongo源连接器。Mongo公司确实。。。3-确实可以从pyspark获得Avro/schema注册表,我以前做过