是否可以在不保持状态的情况下使用Spark结构化流式聚合?例如,如果我在不考虑以前的批次的情况下,只计算每批次的单词。我知道有一些函数,比如flatMapGroups和mapGroups允许这样做,但它似乎不是本机方法,它有缺点。
在火花中执行此操作的规范方法是什么?我应该使用DStream吗?
答案 0 :(得分:1)
在这种情况下,Spark结构化流媒体不适合您。请改用DStreams。但是,作为解决方法,您可以使用(flat)mapGroupsWithState
并将timeOutConf
设置为GroupStateTimeout.ProcessingTimeTimeout()
。然后将状态的超时设置为“0秒”,以便最终逐出。