spark结构化流媒体排名

toiithl6  于 2021-05-18  发布在  Spark
关注(0)|答案(1)|浏览(540)

我有一个由这样的数据组成的数据流。

{Student, Class, CurrentScore}

我想使用滑动窗口来计算这些事件的统计:

spark.readStream(...).withColumn("processingTime",..).
window(col("processingTime"), "30 minutes", "5 minutes"), col("class"))

但是现在我想在这个窗口中按每个班级选出前3名的学生,但是结构化流显然不支持 rank() 我怎样才能解决这个问题?

kqqjbcuj

kqqjbcuj1#

排序操作(也叫rank())仅在聚合后和完全输出模式下才支持流式数据集;直接从手册上。
然而,完全输出模式并不是一种现实的工作方式。我宁愿写到一个最终转换为列格式的位置,然后使用适当的查询工具进行查询和排序。

相关问题