Сообщение 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, который решает эту проблему?