Conhecer o Apache Spark

Concluído

O Apache Spark é uma estrutura de processamento de dados distribuída que habilita a análise de dados em grande escala coordenando o trabalho em vários nós de processamento em um cluster.

Como o Spark funciona

Os aplicativos Apache Spark são executados como conjuntos independentes de processos em um cluster, coordenados pelo objeto SparkContext em seu programa principal (chamado de programa de driver). O SparkContext se conecta ao gerenciador de cluster, que aloca recursos entre aplicativos usando uma implementação do Apache Hadoop YARN. Depois de conectado, o Spark adquire executores nos nós no cluster para executar o código do aplicativo.

O SparkContext executa a função principal e as operações paralelas nos nós de cluster e coleta os resultados das operações. Os nós leem e gravam dados no sistema de arquivos e armazenam dados transformados em cache na memória como RDDs (conjuntos de dados distribuídos resilientes).

Um diagrama da arquitetura do Apache Spark do Azure Synapse.

O SparkContext é responsável por converter um aplicativo em um DAG (grafo direcionado acíclico). O grafo consiste em tarefas individuais que são executadas dentro de um processo de executor nos nós. Cada aplicativo obtém seus próprios processos de executor, que se mantêm pela duração do aplicativo e executa tarefas em vários threads.

Pools do Spark no Azure Synapse Analytics

No Azure Synapse Analytics, um cluster é implementado como um pool do Spark, que fornece um runtime para operações do Spark. Você pode criar um ou mais pools do Spark em um workspace do Azure Synapse Analytics usando o portal do Azure ou no Azure Synapse Studio. Ao definir um pool do Spark, você pode especificar opções de configuração para o pool, incluindo:

  • Um nome para o pool do Spark.
  • O tamanho da VM (máquina virtual) usada para os nós no pool, incluindo a opção de usar nós habilitados para GPU acelerada por hardware.
  • O número de nós no pool e se o tamanho do pool é fixo ou os nós individuais podem ser colocados online dinamicamente para dimensionar automaticamente o cluster; nesse caso, você pode especificar o número mínimo e máximo de nós ativos.
  • A versão do Spark Runtime a ser usada no pool; que dita as versões de componentes individuais, como Python, Java e outros que são instalados.

Dica

Para obter mais informações sobre as opções de configuração do pool do Spark, consulte Configurações do pool do Apache Spark no Azure Synapse Analytics na documentação do Azure Synapse Analytics.

Os pools do Spark em um workspace do Azure Synapse Analytics são sem servidor – eles começam sob demanda e param quando ociosos.