Что такое spark.driver.maxResultSize?

ссылка говорит:

Ограничение общего размера сериализованных результатов всех разделов для каждого действия Spark (например, сбор). Должно быть не менее 1М или 0 для неограниченного. Задания будут прерваны, если общий размер превысит этот предел. Высокий предел может привести к ошибкам нехватки памяти в драйвере (зависит от spark.driver.memory и объема памяти объектов в JVM). Установка правильного предела может защитить драйвер от ошибок нехватки памяти.

Что именно делает этот атрибут? Я имею в виду сначала (так как я не борюсь с работой, которая терпит неудачу из-за ошибок нехватки памяти), я думал, что должен увеличить это.

С другой стороны, кажется, что этот атрибут определяет максимальный размер результата, который работник может отправить драйверу, поэтому оставление его по умолчанию (1G) будет лучшим подходом для защиты драйвера.

Но случится ли в этом случае работнику придется отправлять больше сообщений, поэтому накладные расходы будут просто из-за того, что работа будет медленнее?

Если я правильно понимаю, если предположить, что работник хочет отправить 4G данных водителю, то, имеяspark.driver.maxResultSize=1G, заставит работника отправлять 4 сообщения (вместо 1 с неограниченнымspark.driver.maxResultSize). Если это так, то увеличение этого атрибута для защиты моего водителя от убийства из пряжи должно быть неправильным.

Но все же вопрос выше остается. Я имею в виду, что если я установлю его на 1M (минимум), это будет самый защитный подход?

Ответы на вопрос(1)

Ваш ответ на вопрос