【发布时间】:2019-09-01 19:35:24
【问题描述】:
我需要使用数据帧计数作为除数来计算百分比。
这就是我正在做的:
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 操作,因为它将立即进行评估。
累加器无济于事,因为它们会被提前评估。
有没有办法对数据帧执行惰性计数?
【问题讨论】:
-
你想通过不立即执行操作获得什么?
-
@Shaido,我正在构建几个数据帧,我希望它们仅在使用时被评估(和缓存)。
标签: scala apache-spark