Мне нужно использовать количество данных в качестве делителя для расчета процентов.
Вот что я делаю:
scala> val df = Seq(1,1,1,2,2,3).toDF("value")
scala> val overallCount = df.count
scala> df.groupBy("value")
.agg( count(lit(1)) / overallCount )
Но я бы хотел избежать действия df.count
, так как оно будет оценено немедленно.
Аккумуляторы выиграны 'Это не поможет, так как они будут оценены заранее.
Есть ли способ выполнить отложенный подсчет для кадра данных?