我有一个具有聚合功能的结构化流应用程序,由于数据偏斜,有些任务需要很长时间。
我试图添加带有多个“ groupBy”的盐,但是结构化流中不支持多个聚合。这是一个示例:
df = df.withColumn("salt", floor(rand() * 10))
df = df.groupBy("my_field","salt").agg(sum("num_field").as("total"))
df = df.groupBy("my_field").agg(sum("total"))
处理此问题的正确方法是什么(Spark 2.3.1)?