Я читаю сообщения от Кафки в Flink Shell (Scala) следующим образом:
scala> val stream = senv.addSource(new FlinkKafkaConsumer011[String]("topic", new SimpleStringSchema(), properties)).print()
warning: there was one deprecation warning; re-run with -deprecation for details
stream: org.apache.flink.streaming.api.datastream.DataStreamSink[String] = org.apache.flink.streaming.api.datastream.DataStreamSink@71de1091
Здесь я использую SimpleStringSchema () в качестве десериализатора, но на самом деле сообщения имеют другую схему Avro (скажем, msg.avsc). Как создать десериализатор на основе этой другой схемы Avro (msg.avsc) для десериализации входящих сообщений Kafka?
Мне не удалось найти никаких примеров кода или учебных пособий для этого в Scala, поэтому любые входные данные могут помочь. Похоже, мне может понадобиться расширить и реализовать
org.apache.flink.streaming.util.serialization.DeserializationSchema
для декодирования сообщений, но я не знаю, как это сделать. Любые учебники или инструкции будут очень полезны. Поскольку я не хочу выполнять какую-либо пользовательскую обработку, а просто анализировать сообщения в соответствии со схемой Avro (msg.avsc), любые быстрые способы сделать это были бы очень полезны.