Добро пожаловать в Stackoverflow и Azure!
Легко понять компоненты Spark, поняв, как Spark работает на кластерах HDInsight.
Приложения Spark запускаются как независимые наборы процессов в кластере, координируемые объектом SparkContext в вашей основной программе (называемой программой драйвера).
SparkContext может подключаться к нескольким типам диспетчеров кластеров, которые распределяют ресурсы между приложениями.К этим менеджерам кластеров относятся Apache Mesos, Apache Hadoop YARN или диспетчер кластеров Spark.В HDInsight Spark работает с помощью менеджера кластеров YARN.После подключения Spark получает исполнителей на рабочих узлах кластера, которые представляют собой процессы, которые выполняют вычисления и хранят данные для вашего приложения.Затем он отправляет исполнителям код вашего приложения (определенный с помощью файлов JAR или Python, передаваемых в SparkContext).Наконец, SparkContext отправляет задачи исполнителям для запуска.
SparkContext выполняет основную функцию пользователя и выполняет различные параллельные операции на рабочих узлах.Затем SparkContext собирает результаты операций.Рабочие узлы считывают и записывают данные из и в распределенную файловую систему Hadoop.Рабочие узлы также кэшируют преобразованные данные в памяти как устойчивые распределенные наборы данных (RDD).
SparkContext подключается к ведущему устройству Spark и отвечает за преобразование приложения в ориентированный граф (DAG) отдельных задач, которые получаютвыполняется в процессе исполнителя на рабочих узлах.Каждое приложение получает свои собственные процессы-исполнители, которые работают в течение всего приложения и выполняют задачи в нескольких потоках.
Надеюсь, это поможет.