如何在Spark中计算最大值添加“where”子句?

时间:2017-11-20 08:04:06

标签: scala apache-spark apache-spark-sql

我使用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"))

1 个答案:

答案 0 :(得分:2)

如果我理解你的问题,你可以做什么

@formatter:off

我希望答案很有帮助