Как преобразовать Список [Список [Результат]] в СДР [Результат]? - PullRequest
0 голосов
/ 16 марта 2019
  • В моем случае Результатом является окончательный вариант класса
  • Я не могу использовать sc.parallelize (), потому что мои списки очень велики и приводят к сбою программы драйвера.

Ответы [ 2 ]

0 голосов
/ 06 апреля 2019

Ответ в том, что список не будет масштабироваться.Так как я имел дело с «большими» данными, использование списков и списков [List] было не самой лучшей идеей, потому что в отличие от RDD список не разрезался и не распределялся по исполнителям.Поэтому использование очень большого List, вероятно, приводит к сбою узлов-исполнителей.

В результате я обновил код для создания RDD [List [Result]], а затем использовал flatMap для объединения и получения RDD [Result].

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

Если ваши данные слишком велики для одновременной обработки в памяти, распараллелите столько List[Result] (выровненных), сколько вы можете за один раз, сохраните их при необходимости, а затем объедините RDD.Таким образом, вы получите СДР всех результатов без OOM.

...