Недавно я прочитал книгу под названием «высокопроизводительная искра», когда речь идет о повторном использовании 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. Почему persist () вызывается на rddA, кроме sorted 2. Почему persist () вызывается после первогодействие (sorted.count ()), отличное от двух предыдущих действий (sorted.count () и sorted.take ())
Заранее благодарим за помощь!