简体   繁体   English

融合的Kafka连接ElasticSearch ID文档创建

[英]Confluent Kafka connect ElasticSearch ID document creation

I'm using the kafka connect elasticsearch connector to write data from a topic to an ElasticSearch index. 我正在使用kafka connect elasticsearch连接器将主题中的数据写入ElasticSearch索引。 Both the key and value of the topic messages are in json format. 主题消息的键和值均采用json格式。 The connector is not able to start because of the following error: 由于出现以下错误,连接器无法启动:

    org.apache.kafka.connect.errors.DataException: MAP is not supported as the document id.

Following is the format of my messages (key | value): 以下是我的消息的格式(键|值):

    {"key":"OKOK","start":1517241690000,"end":1517241695000}     |   {"measurement":"responses","count":9,"sum":1350.0,"max":150.0,"min":150.0,"avg":150.0} 

And following is the body of the POST request I'm using to create the connector: 以下是我用来创建连接器的POST请求的正文:

{
 "name": "elasticsearch-sink-connector",
 "config": {
 "connector.class":"io.confluent.connect.elasticsearch.ElasticsearchSinkConnector",
 "tasks.max": "1",
 "topics": "output-topic-elastic",
 "connection.url": "http://elasticsearch:9200",
 "type.name": "aggregator",
 "schemas.enable": "false",
 "topic.schema.ignore": "true",
 "topic.key.ignore": "false",
 "value.converter": "org.apache.kafka.connect.json.JsonConverter",
 "value.converter.schemas.enable": "false", 
 "key.converter": "org.apache.kafka.connect.json.JsonConverter",
 "key.converter.schemas.enable": "false", 
 "key.ignore":"false",
 "topic.index.map": "output-topic-elastic:aggregator",
 "name": "elasticsearch-sink",
 "transforms": "InsertKey",
"transforms.InsertKey.type":"org.apache.kafka.connect.transforms.ValueToKey",
"transforms.InsertKey.fields":"key"
}}

Any help would be really appreciated. 任何帮助将非常感激。 I've found out a similar question on stackoverflow 1 but I've got no luck with the answers. 我在stackoverflow 1上找到了类似的问题,但是我对答案没有好运。

ES document ID creation ES文档ID的创建

You also need ExtractField in there 您还需要在那里的ExtractField

"transforms": "InsertKey,extractKey",
"transforms.InsertKey.type":"org.apache.kafka.connect.transforms.ValueToKey",
"transforms.InsertKey.fields":"key",
"transforms.extractKey.type":"org.apache.kafka.connect.transforms.ExtractField$Key",
"transforms.extractKey.field":"key"

Check out this post for more details. 查看此帖子以获取更多详细信息。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 融合Kafka Connect Elasticsearch文档ID创建 - Confluent kafka connect elasticsearch document ID creation 推送自己的ID。 融合Kafka Connect Elasticsearch Docker - Push own id. Confluent kafka connect elasticsearch docker Confluent Kafka Connect Elasticsearch 连接器安装 - Confluent Kafka Connect Elasticsearch connector installation KafkaConnect elasticSearch 文档 ID 创建 - KafkaConnect elasticSearch Document Id Creation 通过与弹性搜索6.x和kafka 2.0或0.11及更高版本的融合兼容性,kafka连接elasticsearch - kafka connect elasticsearch by confluent compatibility with elastic search 6.x and kafka 2.0 or 0.11 and above confluent kafka connect elasticsearch sink 吞吐量在任务重启后永久下降 - confluent kafka connect elasticsearch sink throughput drops permanently after task restart 如何在 kafka-connect Confluent 平台的 elasticsearch sink 连接器配置中使用 ca cert? - How to use ca cert in elasticsearch sink connector configuration for kafka-connect confluent platform? Kafka connect弹性搜索ID创建多个字段不起作用 - Kafka connect elastic search ID creation for multiple fields not working Kafka 连接器到 map 主题键作为 ElasticSearch 中的文档 ID - Kafka Connector to map topic key as document id in ElasticSearch Kafka Connect Elasticsearch-NoSuchMethodError - Kafka Connect Elasticsearch - NoSuchMethodError
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM