Когда я попытался запустить Kafka Consumer с Avro над данными с моей соответствующей схемой, он вернул ошибка «AvroRuntimeException: неверные данные. Длина отрицательная: -40». Я вижу, что у других были похожие проблемы преобразование массива байтов в json, Avro пишет и читает и Kafka Avro Binary * coder. Я также сослался на этот пример группы потребителей, в котором есть все был полезен, однако пока не помог с этой ошибкой .. Он работает до этой части кода (строка 73)
Декодер decoder = DecoderFactory.get (). BinaryDecoder (byteArrayInputStream, null);
Я пробовал другие декодеры и распечатал содержимое переменной byteArrayInputStream, которая выглядит так, как я считаю, вы ожидаете, что сериализованные данные avro будут выглядеть (в сообщении я вижу схему, некоторые данные и некоторые искаженные данные). Байт доступно с использованием метода .available (), который возвращает 594. Мне трудно понять, почему возникает эта ошибка. Apache Nifi используется для создания потока Kafka с той же схемой из hdfs. Буду признателен за любую помощь.