Проблемы с Сериализацией Искры? - PullRequest
0 голосов
/ 24 сентября 2018

Позвольте быть работой, которая содержит две фазы, которые (для удобства) не могут быть объединены.Давайте назовем A первым шагом и B вторым шагом.Следовательно, нам всегда нужно A, а затем B.

Рабочий процесс

  • запуск нового кластера с заданием A
  • сборка MyOutput
  • count(MyOutput) = 2000 (*)
  • write(MyOutput)
  • запуск нового кластера с заданием B
  • read(MyOutput)
  • count(MyOutput) = 1788 (**).

Точность

  • Aобеспечивает вывод, который является RDD[MyObject], а именно MyOutput.Чтобы написать MyOutput, вот что я делаю: MyOutput.saveAsObjectFile("...")

  • Затем B использует MyOutput в качестве ввода, читая ранее записанный файл.Вот что я делаю: val MyOutput: RDD[MyObject] = sc.objectFile("...")

  • A и B происходят на двух отдельных кластерах.

Проблема

Суть в том, что проблема не всегда возникает, но когда эта проблема возникает, (*) < (**) - кажется, мы потеряли некоторые данные, тогда как между этими данными не должно быть никаких различий.Очевидно, что-то не так.

Вы знаете, что здесь происходит?Как это решить?

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