В соответствии с моими требованиями я бы хотел явно зарегистрировать Avro Serializer для конкретных POJO.Например, в случае Apache Beam я могу аннотировать данный POJO с помощью @DefaultCoder(AvroCoder.class)
, и всякий раз, когда указанный POJO должен быть сериализован, Beam будет использовать сериализацию Avro.
Я смотрел на Flink API и придумал что-то ближе, как показано ниже:
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
env.getConfig().enableForceAvro();
env.getConfig().disableForceKryo();
Но, как я понимаю, выше, Avro является универсальным для всех POJO.
Есть ли способ, которым я могу зарегистрировать Avro serialiser для конкретных POJO (ов) явно во Flink?Что-то в строках ...
registerSerializer(Class<T> clazz, AvroSerializer<T> serializer);
Я использую Flink 1.7.1