Сообщение avro для mqtt с использованием соединителя bahir streaming-mqtt для искры возвращает отрицательное значение

Я пытаюсь отправить сообщение avro (id, name) на mqtt, используя соединитель bahir streaming-mqtt для spark. Сообщение анализируется без каких-либо проблем, но значение идентификатора будет случайным отрицательным числом. Результат отрицателен только тогда, когда ввод id больше 63.

Ниже приведен фрагмент кода, используемый для получения данных.

public JavaDStream<Object> getStream(JavaStreamingContext context) {
    JavaReceiverInputDStream<String> lines = MQTTUtils.createStream(context, brokerUrl, topic);

    return lines.map(new Function<String, Object>() {

        @Override
        public Object execute(String object) {
            return object.getBytes(StandardCharsets.UTF_8);
        }
    });
}

Насколько я понимаю, проблема возникает, когда метод MQTTUtils.createStream преобразует байт в строку. Метод createStream возвращает строку.

Любой другой подход или новый API, который решает эту проблему?

0 ответов

Другие вопросы по тегам