何时在Spark应用程序中使用持久化

时间:2019-04-14 14:14:47

标签: apache-spark

最近,我读了一本书《高性能火花》,当谈到重用rdds时,它提供了一个示例来说明如何保持rdd以避免重复计算多个动作

优化前

val sorted = rddA.sortByKey()
val count = sorted.count()
val sample: Long = count/10
sorted.take(sample.toInt)

优化后

val sorted = rddA.sortByKey()
val count = sorted.count()
val sample: Long = count/10
rddA.persist()
sorted.take(sample.toInt)

我在两点上有些困惑: 1.为什么在rddA上调用除sorted之外的persist() 2.为什么在第一个动作(sorted.count())之后而不是两个动作(sorted.count()和sorted.take())之前调用persist()

在此先感谢您的帮助!

0 个答案:

没有答案