Кто загружает разделы в оперативную память в Spache Spark?

У меня такой вопрос, на который я нигде не нашел ответа.

Я использую следующие строки для загрузки данных в приложение PySpark:

loadFile = self.tableName+".csv"
dfInput= self.sqlContext.read.format("com.databricks.spark.csv").option("header", "true").load(loadFile) 

Конфигурация моего кластера следующая:

  • Я использую кластер Spark с 3 узлами: 1 узел используется для запуска мастера, на двух других узлах работает по 1 рабочему.
  • Я отправляю приложение извне кластера на узел входа со сценарием.
  • Сценарий отправляет приложение Spark в режиме развертывания кластера, который, как я думаю, в этом случае запускает драйвер на любом из 3 узлов, которые я использую.
  • Входные файлы CSV хранятся во всемирно видимой временной файловой системе (Lustre).

В Apache Spark Standalone как идет процесс загрузки разделов в оперативную память?

  1. Дело в том, что каждый исполнитель обращается к ОЗУ узла драйвера и загружает оттуда разделы в свою ОЗУ? (Хранилище -> ОЗУ драйвера -> ОЗУ исполнителя)
  2. Дело в том, что каждый исполнитель обращается к хранилищу и загружается в свою оперативную память? (Хранилище -> ОЗУ исполнителя)

Разве это не так, и я что-то здесь упускаю? Как я могу сам наблюдать за этим процессом (инструмент мониторинга, команда unix, где-нибудь в Spark)?

Любые комментарии или ресурсы, в которых я могу углубиться в это, были бы очень полезны. Заранее спасибо.


person User2130    schedule 20.07.2016    source источник


Ответы (1)


Второй сценарий верен:

каждый исполнитель обращается к хранилищу и загружается в свою оперативную память? (Хранилище -> ОЗУ исполнителя)

person Community    schedule 20.07.2016