Aplicativos Spark
Aplicativos Spark consistem em um processo de driver e um conjunto de processos executores. O processo de driver executa a função main() e é executado nos nós do cluster. Ele também tem três responsabilidades: gerenciar informações sobre o aplicativo Spark; responder aos programas e entradas do usuário; e analisar, distribuir e agendar tarefas entre os executores (definidos no momento). O processo de drive é essencial. É o coração do seu aplicativo Spark e contém todas as informações relevantes durante a vida útil do aplicativo. Os executores executam as tarefas atribuídas pelo driver. Cada executor tem duas responsabilidades: executar o código atribuído pelo driver e relatar o progresso dos cálculos nesse executor para o nó do driver. O gerenciador de cluster controla máquinas físicas e aloca recursos para aplicativos Spark. Pode ser um dos vários gerenciadores de cluster principais: gerenciador de cluster independente do próprio Spark, YARN ou Mesos. Também é possível executar vários aplicativos Spark simultaneamente em um cluster. Os gerenciadores de cluster são abordados em detalhes em “Part IV: Production Applications” deste livro. A ilustração anterior mostra um driver à esquerda e quatro executores à direita, omitindo o conceito de nós de cluster. O usuário pode especificar o número de executores que devem ser atribuídos a cada nó por meio de configuração. [glossary-cta]