Я пытаюсь передать документ из массивов JSON от Kafka до elasticsearch. Мои данные в формате JSON выглядит следующим образом:Разбор JSON от Kafka до Elasticsearch
{
"A": "---",
"B": "---",
"C": "---",
"D": "---",
"ABC": "---"
}
Из-за какой-то причине, Кафка не в состоянии разобрать этот документ, и я получаю сообщение об ошибке, как:
org.codehaus.jackson.JsonParseException: Unexpected close marker '}': expected ']' (for ROOT starting at [Source: [[email protected]; line: 1, column: 0])
at [Source: [[email protected]; line: 1, column: 3]
at org.codehaus.jackson.JsonParser._constructError(JsonParser.java:1433)
at org.codehaus.jackson.impl.JsonParserMinimalBase._reportError(JsonParserMinimalBase.java:521)
at org.codehaus.jackson.impl.JsonParserBase._reportMismatchedEndMarker(JsonParserBase.java:487)
at org.codehaus.jackson.impl.Utf8StreamParser.nextToken(Utf8StreamParser.java:473)
at org.codehaus.jackson.map.ObjectReader._initForReading(ObjectReader.java:828)
at org.codehaus.jackson.map.ObjectReader._bindAndClose(ObjectReader.java:752)
at org.codehaus.jackson.map.ObjectReader.readValue(ObjectReader.java:473)
at org.elasticsearch.river.kafka.IndexDocumentProducer.addMessagesToBulkProcessor(IndexDocumentProducer.java:71)
at org.elasticsearch.river.kafka.KafkaWorker.consumeMessagesAndAddToBulkProcessor(KafkaWorker.java:107)
at org.elasticsearch.river.kafka.KafkaWorker.run(KafkaWorker.java:78)
at java.lang.Thread.run(Thread.java:745)
Он отлично работает, если мои данные из формат:
{"A": "---", "B": "---", "C": "---", "D": "---", "ABC": "---"}
У меня есть несколько элементов, которые я хочу передать как массив в документе. Любая идея, почему я получаю ошибку для первого формата данных JSON? Благодаря
Вы делаете 'объемный импорт'? какую версию 'ES' и' kafka-river' вы используете? – ChintanShah25
Я использую ES 1.6. Я выполнил эту ссылку: https://github.com/mariamhakobyan/elasticsearch-river-kafka – Sweet
ОК, но какую операцию вы выполняете? массовый импорт? – ChintanShah25