Как метод RDD take () работает внутри? - PullRequest
0 голосов
/ 21 марта 2019

Я понимаю, что take (n) вернет n элементов СДР, но как Spark решает, из какого раздела вызывать эти элементы и какие элементы следует выбрать? Поддерживает ли он внутренние индексы для Driver?

1 Ответ

0 голосов
/ 25 марта 2019

В методе RDD take (n) Spark начинает поиск элементов из первого раздела. Если в нем недостаточно элементов, Spark увеличивает количество сканируемых разделов. А что за элементы взяты, это определяется следующей строкой

val res = sc.runJob(this, (it: Iterator[T]) => it.take(left).toArray, p)

Метод take (n) Итератора в scala говорит: «Выбирает первые« n »значения этого итератора.» - scaladoc . Что касается того, какие элементы будут выбраны, мы видим, что элементы выбираются с начала итератора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...