df.groupBy("c1").agg(sum("n1")).distinct.count()
需要10秒
df.groupBy("c1").agg(sum("n1"), sum("n2")).distinct.count()
需要20秒
自DF行存储以来,我感到很惊讶。你有相同的经历吗?这有什么意义?还有想法如何使2个总和在更相似的时间内运行到1个总和? spark 2.2.0
答案 0 :(得分:0)
我不认为" agg"在第二种情况下花费更多的时间。我会看清楚。
您正在执行基于额外列 n2 的 distinct ,这会提供更广泛的分发并增加不同计算的复杂性。
答案 1 :(得分:0)
这很有道理:
这两项变化都会影响整体表现,即使最终结果很小,对不同的影响可以忽略不计。