Кафка Раковина HDFS Нераспознанный токен - PullRequest
0 голосов
/ 04 сентября 2018

Я пытаюсь написать JSON с Kafka HDFS Sink.

У меня есть следующие свойства (connect-standalone.properties):

key.converter.schemas.enable = false
value.converter.schemas.enable = false
schemas.enable=false
key.converter=org.apache.kafka.connect.json.JsonConverter
value.converter=org.apache.kafka.connect.json.JsonConverter

И по моим свойствам:

format.class=io.confluent.connect.hdfs.json.JsonFormat

И я получил следующее исключение:

org.apache.kafka.connect.errors.DataException: преобразование байта [] в соединение Kafka не удалось из-за ошибки сериализации

... Вызвано: org.apache.kafka.commom.errors.SerlizationException: com.fasterxml.jackson.core.JsonParseException: нераспознанный токен 'test': ожидал 'null', 'true', 'false' или NaN в [Source: (byte []) строка "test": 1 столбец: 11]

Мой JSON действителен.

Как я могу решить это, пожалуйста?

* Я пытаюсь также с примером JSON, как:

{"key":"value"}

И все та же ошибка.

Спасибо.

1 Ответ

0 голосов
/ 05 сентября 2018

Согласно ошибке, не все сообщения в теме на самом деле являются объектами JSON. последние сообщения могут быть допустимыми, или значения Кафки могут быть действительными (но не ключами), но ошибка показывает, что он пытался прочитать простую строку, (byte[])"test", что недопустимо

Если вам нужны только текстовые данные в HDFS, вы можете использовать формат String, однако в нем не будет интеграции Hive

format.class=io.confluent.connect.hdfs.string.StringFormat

Если вы хотите использовать Hive с этим форматом, вам нужно определить JSON Serde самостоятельно

...