[英]Kafka Elasticsearch Connector Timestamps
例如,我可以看到這里已經討論過幾次,但我認為由於 Elasticsearch 中的重大變化,這些解決方案已經過時。
我正在嘗試將我的 Kafka 主題中的 Json 中的 long/epoch 字段轉換為通過連接器推送的 Elasticsearch 日期類型。
當我嘗試添加動態映射時,我的 Kafka 連接更新失敗,因為我嘗試將兩個映射應用於字段,_doc 和 kafkaconnect。 這是版本 6 的一項重大更改,我相信每個索引只能有一個映射。
{
"index_patterns": [ "depart_details" ],
"mappings": {
"dynamic_templates": [
{
"scheduled_to_date": {
"match": "scheduled",
"mapping": {
"type": "date"
}
}
}
]
}}
我現在專注於嘗試通過將字段更改為時間戳、時間或日期來從連接器中的源翻譯消息。
"transforms.TimestampConverter.type": "org.apache.kafka.connect.transforms.TimestampConverter$Value",
"transforms.TimestampConverter.field" : "scheduled",
"transforms.TimestampConverter.target.type": "Timestamp"
但是,我嘗試通過此轉換器發送的任何消息都失敗了
Caused by: org.apache.kafka.connect.errors.DataException: Java class class java.util.Date does not have corresponding schema type.
at org.apache.kafka.connect.json.JsonConverter.convertToJson(JsonConverter.java:604)
at org.apache.kafka.connect.json.JsonConverter.convertToJson(JsonConverter.java:668)
at org.apache.kafka.connect.json.JsonConverter.convertToJsonWithoutEnvelope(JsonConverter.java:574)
at org.apache.kafka.connect.json.JsonConverter.fromConnectData(JsonConverter.java:324)
at io.confluent.connect.elasticsearch.DataConverter.getPayload(DataConverter.java:181)
at io.confluent.connect.elasticsearch.DataConverter.convertRecord(DataConverter.java:163)
at io.confluent.connect.elasticsearch.ElasticsearchWriter.tryWriteRecord(ElasticsearchWriter.java:285)
at io.confluent.connect.elasticsearch.ElasticsearchWriter.write(ElasticsearchWriter.java:270)
at io.confluent.connect.elasticsearch.ElasticsearchSinkTask.put(ElasticsearchSinkTask.java:169)
似乎需要做一件很常見的事情,但我看不到如何通過版本 7 中的此連接器將日期或時間字段輸入 Elastic?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.