在相同的流数据上触发结构化的流式传输多个聚合密钥

dip*_*u20 5 stateful spark-structured-streaming

我是Spark的新手,我有一个基于Spark结构化流的原型应用程序,其中不断从Kafka读取流数据。

在此流数据上,可以说我必须应用多个聚合:

1)按key1分组并生成和和计数
2)按key1和key2分组并生成计数等...

如果我将上述2个聚合创建为流查询,则会创建两个独立的流查询,每个独立地从kafka读取,这不是我想要的。从kafka缓存数据然后执行多次聚合在结构化流中似乎不起作用。

对流数据进行多重聚合的最佳方法是什么?

一些帖子建议flatmapwithGroupState可能适用于这种用例,但我找不到相同的任何示例