Apache Spark Streaming API Кафки против API Kinesis - PullRequest
0 голосов
/ 18 октября 2018

У меня есть приложение Scala Spark, в котором мне нужно переключаться между потоковой передачей от kafka vs kinesis в зависимости от конфигурации приложения.

Оба API-интерфейса spark для потоковой передачи kafka (spark-streaming-kafka-0-10_2.11) и kinesis streaming (spark-streaming-kinesis-asl_2.11) возвращает InputDStream при создании потока, но типы значений различны.

Создание потока Кафки возвращает InputDStream[ConsumerRecord[String, String]], тогда как, Поток Kinesis создает возврат InputDStream[Array[Byte]]

Есть ли API, который возвращает универсальный InputDStream независимо от kafka или kinesis, так что моя обработка потока может иметь универсальную реализацию вместо необходимости писать отдельнокод для kafka и kinesis.

Я попытался назначить оба потока для InputDStream[Any], но это не сработало.

Оцените любую идею о том, как это можно сделать.

...