В методе RDD take (n) Spark начинает поиск элементов из первого раздела. Если в нем недостаточно элементов, Spark увеличивает количество сканируемых разделов. А что за элементы взяты, это определяется следующей строкой
val res = sc.runJob(this, (it: Iterator[T]) => it.take(left).toArray, p)
Метод take (n) Итератора в scala говорит: «Выбирает первые« n »значения этого итератора.» - scaladoc . Что касается того, какие элементы будут выбраны, мы видим, что элементы выбираются с начала итератора.