Сериализация полей Flink List с помощью ProtobufJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Сериализация полей Flink List с помощью Protobuf

Сообщение Anonymous »

У меня есть класс Foo, который обрабатывается Flink в DataStream:

Код: Выделить всё

public class Foo {
private int id;
public List data;

// Getter, setters, and constructor

public static class Data {
private String bar;

// Getter, setters, and constructor
}
}

Когда я запускаю приложение, я вижу следующее предупреждение:

Код: Выделить всё

Field Foo#data will be processed as GenericType.
Это означает, что этот список обрабатывается сериализатором Kryo, который работает довольно медленно. Я хочу избежать использования сериализатора Kryo для этого списка. Я попытался решить эту проблему, используя Protobuf на основе руководства по сериализации Flink.
Вот что я добавил в свой код:

Код: Выделить всё

env.getConfig().registerTypeWithKryoSerializer(Foo.Data.class, ProtobufSerializer.class);
Я также включил соответствующую зависимость Maven для Protobuf. Однако я все еще вижу то же предупреждение:

Код: Выделить всё

Field Foo#data will be processed as GenericType.
Ожидаемый результат:
Я хочу, чтобы Flink правильно сериализовал поле данных Foo#, не обрабатывая его как GenericType, и избегал предупреждение.

Подробнее здесь: https://stackoverflow.com/questions/790 ... h-protobuf
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»