Одна буква добавляется в записи JSON из NIFI JSONRecordSetWriter - PullRequest
0 голосов
/ 05 декабря 2018

Я довольно новичок в NiFi и Kafka, и я боролся с этой проблемой в течение нескольких дней.У меня есть поток данных NiFi, который заканчивается публикацией записей JSON в теме Kafka с использованием процессора PublishKafkaRecord_2_0, настроенного со службой JSONRecordSetWriter в качестве средства записи.Кажется, все работает отлично: сообщения публикуются в Kafka, и после публикации публикации в потоковом файле выглядят как правильно сформированный JSON.Хотя при использовании сообщений в командной строке я вижу, что они начинаются с одной буквы.Попытка прочитать сообщения с помощью ConsumeKafkaRecord_2_0, настроенной с помощью JSONTreeReader, и, конечно, увидеть ошибку здесь .

Поскольку я пробовал разные вещи, буква изменилась: она начиналась с "h", затем «f» (при настройке JSONRecordSetWriter дальше вверх по течению и перед публикацией в Kafka), а в настоящее время - «y».

Я не могу понять, откуда он исходит.Я подозреваю, что это вызвано JSONRecordSetWriter, но не уверен.Моя конфигурация для писателя: здесь , и для меня нет ничего необычного.

Я пробовал отлаживать, создавая различные потоки.Я думал, что проблема может быть с моей схемой Avro и попытался заменить это.Мне не на что пытаться, у кого-нибудь есть идеи?

1 Ответ

0 голосов
/ 05 декабря 2018

Поскольку «Стратегия записи схемы» установлена ​​в «Confluent Schema Reference», это говорит автору записи в начале содержимого сообщения ссылки на confluent schema id, поэтому скорее всего вы видите байтыиз этого.

Если вы используете реестр схемы слияния, то это правильное поведение, и эти значения должны быть там, где сторона-потребитель должна определить, какую схему использовать.

Если вы этого не делаетеиспользуя конфликтующий реестр схем при использовании этих сообщений, просто выберите одну из других стратегий записи схемы.

...