Spark - 结构化流式传输 Kafka(动态反序列化)

Spark - Structured Streaming Kafka (dynamic deserialize)

假设我们在流中订阅了2个topic,一个是avro的topic,一个是string的topic,是否可以根据topic名称动态反序列化?

理论上是的

Deserializer 界面接受主题名称作为参数,您可以对其进行检查。

但是,在 Spark 中访问它需要您自己的 UDF 包装器。


最终,我认为如果您为不同格式的每个主题定义两个流数据帧,或者简单地生成 Avro 编码的字符串会更好。