Когда создаются и уничтожаются / удаляются блоки Spark RDD?

В пользовательском интерфейсе Spark на вкладке исполнителей есть столбец с названием RDD блоки. Было сделано одно наблюдение: количество блоков RDD продолжает увеличиваться для конкретного задания потоковой передачи, когда сообщения передаются из Kafka.

Некоторые исполнители были удалены автоматически, и после длительного запуска с большим количеством RDD блоков приложение замедляется. DStreams и RDDs нигде вручную не сохраняются.

Было бы очень полезно, если бы кто-нибудь объяснил, когда создаются эти блоки и на каком основании они удаляются (есть ли какие-либо параметры, которые нужно изменить?).


person nitin angadi    schedule 12.04.2018    source источник
comment
Похоже на возможный дубликат этого: stackoverflow.com/questions/38067919/   -  person Eugene Lopatkin    schedule 30.05.2018
comment
Вышеупомянутое наблюдение (увеличение использования памяти исполнителями и OutOfMemory убило исполнителей) было обнаружено в Spark 1.6, и когда та же задача выполнялась в Spark 2.2, таких проблем не обнаружено (потребляемая память исполнителей увеличивается до определенного уровня и остается стабильной. дальше).   -  person nitin angadi    schedule 14.11.2018


Ответы (1)


Хорошее объяснение Spark UI - это. Блоки RDD могут представлять кэшированные разделы RDD, промежуточные выходные данные в случайном порядке, широковещательные рассылки и т. Д. Ознакомьтесь с разделом BlockManager этого книга.

person Eugene Lopatkin    schedule 29.05.2018