Почему случайное разливание намного больше, чем случайное чтение или размер вывода? - PullRequest
2 голосов
/ 11 ноября 2019

У меня довольно простое задание PySpark, на котором последний этап читает некоторые перемешанные данные, выполняет некоторую агрегацию по окну и записывает в HDFS. Медианная задача имеет:

  1. 130 МБ для чтения в случайном порядке
  2. 3,4 МБ выходного размера (запись в HDFS)
  3. 2,0 ГБ в случайном порядке (память)
  4. 140 МБ случайного разлива (диск)

Существует перекос между задачами, но ничего существенного.

Мой вопрос: поскольку для каждой задачи было прочитано только 130 МБ перемешивания, и былобез случайной записи (так как не было более поздних этапов), как может быть 2 ГБ случайного разлива на одну задачу?

Насколько я понимаю, данные случайного воспроизведения высыпаются из памяти на диск, если они занимают слишком многоОЗУ на исполнителя. Но здесь количество, которое вылилось из памяти, было намного больше, чем общий объем перемешанных данных. В общем, как случайный разлив может быть больше, чем размер перемешанных данных?

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