Доступна Spark vs Flink с низкой памятью

У меня есть приложение для искры Spark и Flink k. Мой тестовый пример - кластеризация на 1 миллион точек в кластере 3 node.

Когда начались узкие места в памяти, Флинк начинает аутсорсинг на диск и работает медленно, но работает. Однако Spark потеряет исполнителей, если память заполнена и снова запускается (бесконечный цикл?).

Я пытаюсь настроить настройку памяти с помощью списка рассылки здесь, спасибо. Но Spark все еще не работает.

Нужно ли устанавливать какие-либо конфигурации? Я имею в виду, что Флинк работает с низкой памятью, Spark также должен быть в состоянии; или нет?

Ответ 1

Я не специалист по искры (и я - участник Flink). Насколько я знаю, Spark не может разливаться на диск, если основной памяти недостаточно. Это одно из преимуществ Flink над Spark. Тем не менее, Spark анонсировала новый проект "Tungsten", чтобы включить управляемую память, подобную Flink. Я не знаю, доступна ли эта функция: https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html

Есть несколько вопросов SO о проблемах с искрыми памяти (поиск в Интернете с "искрами из памяти" также дает много результатов):

spark java.lang.OutOfMemoryError: пространство кучи Java При сгруппировании по ключевому слову Spark исчерпывает память Искры из памяти

Возможно, это поможет.