Я использую Spark 2.3.2.
Я получаю данные от Кафки.Я должен сделать несколько агрегаций на одних и тех же данных .Затем все результаты агрегации будут отправлены в той же базы данных (столбцы или таблицы могут быть изменены) .Например:
val kafkaSource = spark.readStream.option("kafka") ...
val agg1 = kafkaSource.groupBy().agg ...
val agg2 = kafkaSource.groupBy().mapgroupswithstate() ...
val agg3 = kafkaSource.groupBy().mapgroupswithstate() ...
Но когда я пытаюсь вызвать writeStream для каждого результата агрегации:
aggr1.writeStream().foreach().start()
aggr2.writeStream().foreach().start()
aggr3.writeStream().foreach().start()
Spark получает данные независимо в каждом writeStream.Этот способ эффективен?
Могу ли я сделать несколько агрегатов с одним writeStream?Если это возможно, этот способ эффективен?