我有一个 scala spark 应用程序,我需要根据应用程序配置在 kafka 流和 kinesis 之间切换。
用于 kafka 流 (spark-streaming-kafka-0-10_2.11) 和 kinesis 流 (spark-streaming-kinesis-asl_2.11) 的 spark APIInputDStream
在创建流时返回一个,但值类型不同。
Kafka 流创建返回InputDStream[ConsumerRecord[String, String]]
,而 Kinesis 流创建返回InputDStream[Array[Byte]]
是否有任何API
返回泛型InputDStream
而不考虑 kafka 或 kinesis,以便我的流处理可以具有通用实现,而不必为 kafka 和 kinesis 编写单独的代码。
我尝试将两个流都分配给 a InputDStream[Any]
,但这不起作用。
感谢任何关于如何做到这一点的想法。