我使用Spark 2.2.0和Scala 2.11。我想将rank
计算为sold
除以同一type
内的最大售出价值(即与实际行的值相同)。但我不知道在计算type
时如何考虑max
。
这是我目前的代码。它将sold
计算为给定时间段内最大和最小库存之间的差异。值sold
表示在这段时间内销售的产品数量。
val sales = df.select($"product_pk",$"type",$"stock").groupBy($"type",$"product_pk").agg((max($"stock")-min($"stock")) as "sold")
val ranks = sales.withColumn("rank",$"sold"/max($"sold"))
答案 0 :(得分:2)
如果我理解你的问题,你可以做什么
@formatter:off
我希望答案很有帮助