Introdução à arquitetura Apache Spark

Este artigo define os conceitos da arquitetura Apache Spark e seus componentes. É considerado um processamento de dados de nível de pico no Apache Software Foundation. O Spark é considerado uma outra possibilidade para o Hadoop e o Map Reduce.

O Spark é uma arquitetura de código aberto com componentes bem definidos que ajudam na análise de uma grande quantidade de dados e funcionam para computação distribuída. O Spark é escrito no Scala com recursos ativados como APIs, R e enriqueceu o conjunto de bibliotecas, o que facilita o processamento de dados. O Apache Spark possui seu cálculo de cluster individual para acessibilidade mais rápida e é executado em diferentes plataformas.

O Apache Spark possui uma ampla variedade de recursos, como o processo de execução rápida na memória, adapta-se a várias linguagens de programação, aprimora as técnicas de cache e suporta consultas SQL, aprendizado de máquina. Ele roda em plataformas como sistemas operacionais Microsoft Windows e Linux. Sua implantação diz que eles também podem ser executados em uma única máquina e modo de cluster.

Arquitetura Apache Spark

A arquitetura do Apache spark tem componentes fracamente acoplados. O Spark considera o processo mestre / trabalhador na arquitetura e toda a tarefa funciona na parte superior do sistema de arquivos distribuídos Hadoop. O Apache spark utiliza o Hadoop para processos de processamento e armazenamento de dados. Eles são considerados como mecanismo de processamento de dados na memória e fazem com que seus aplicativos sejam executados em clusters Hadoop mais rapidamente que uma memória. O processamento na memória evita a falha da E / S do disco. O Spark permite que o trabalho heterogêneo trabalhe com os mesmos dados. O Spark divide seus dados em partições, o tamanho das partições divididas depende da fonte de dados fornecida.

Abaixo estão as duas principais implementações da arquitetura Apache Spark:

1. Conjuntos de dados distribuídos resilientes (RDD)

É responsável por fornecer API para controlar o cache e o particionamento. É um conjunto de ferramentas importante para computação de dados. Ajuda na recomputação de elementos em caso de falhas e é considerado um dado imutável e atua como uma interface. Transformações e ações são as duas operações realizadas pelo RDD.

2. Gráfico Acíclico Dirigido (DAG)

Ele forma uma conexão de sequência de um nó para outro. O driver converte o programa em DAG para cada trabalho. O sistema ecológico Apache Spark possui vários componentes, como núcleo da API, Spark SQL, streaming e processamento em tempo real, MLIB e Graph X. Algumas terminologias a serem aprendidas aqui são o shell Shell, que ajuda na leitura de grandes volumes de dados, contexto Spark - cancelar, executar um trabalho, tarefa (um trabalho), trabalho (computação)

Componentes da arquitetura Apache Spark

Os quatro principais componentes do Spark são apresentados abaixo e é necessário entendê-los para a estrutura completa.

  1. Spark Driver
  2. Executores
  3. Gerenciador de clusters
  4. Nós do trabalhador

O diagrama a seguir mostra a arquitetura e os componentes do spark:

Fig: Modo independente da arquitetura Apache Spark

O fluxo de execução começa da seguinte maneira:

1. Driver Spark

A responsabilidade do motorista é coordenar as tarefas e os trabalhadores para o gerenciamento. É um processo de JVM de aplicativo e considerado como um nó principal. Um driver divide a centelha em tarefas e agendas para executar nos executores nos clusters. No diagrama, os programas de driver chamam o aplicativo principal e criam um contexto de spark (atua como um gateway) monitora coletivamente o trabalho que trabalha no cluster especificado e se conecta a um cluster do Spark. Todas as funcionalidades e comandos são executados no contexto do spark.

O contexto do Spark é uma entrada para cada sessão. O driver Spark possui mais componentes para executar tarefas nos clusters. Os clusters Spark são conectados a diferentes tipos de gerenciadores de cluster e, simultaneamente, adquirem nós de trabalho para executar e armazenar dados. No cluster, quando executamos o processo, seu trabalho é subdividido em estágios, com estágios de ganho em tarefas agendadas.

2. Executor

É responsável pela execução de um trabalho e armazena dados em um cache. No estágio inicial, os executores se registram nos drivers. Este executor possui vários intervalos de tempo para executar o aplicativo simultaneamente. Executores executam processo de leitura / gravação em fontes externas. O executor executa a tarefa quando carrega dados e eles são removidos no modo ocioso. O executor é ativado pela alocação dinâmica e eles são constantemente incluídos e excluídos, dependendo da duração. Durante a execução das tarefas, os executores são monitorados por um programa de driver. Os executores executam a tarefa dos usuários no processo java.

3. Gerenciador de Cluster

Ajuda no gerenciamento de clusters que possuem um mestre e número de escravos. Existem dois tipos de gerenciadores de cluster como YARN e independentes, ambos gerenciados pelo Resource Manager e pelo Node. o trabalho de cluster no Independente requer Spark Master e nó de trabalho como suas funções. A responsabilidade do gerenciador de cluster é alocar recursos e executar a tarefa,

4. Nós Trabalhadores

Eles são os nós escravos; a principal responsabilidade é executar as tarefas e a saída delas é retornada ao contexto de faísca. Eles se comunicam com o nó principal sobre a disponibilidade dos recursos. O contexto do Spark o executa e emite para os nós do trabalhador. Cada nó de trabalho recebe um spark worker para monitoramento. Eles fazem a computação de maneira muito simples, aumentando os nós dos trabalhadores (1 a n não dos trabalhadores) para que todas as tarefas sejam executadas paralelamente, dividindo o trabalho em partições em vários sistemas. A tarefa do outro elemento é considerada uma unidade de trabalho e atribuída a um executor, pois cada partição spark executa uma tarefa.

Conclusão

Portanto, ao entender a Apache Spark Architecture, significa como implementar big data de maneira fácil. Por fim, aprendemos suas funções de acessibilidade e componentes, o que é muito benéfico para a computação em cluster e a tecnologia de big data. O Spark calcula os resultados desejados de uma maneira mais fácil e preferida no processamento em lote.

Os recursos distintos do Spark, como conjuntos de dados e quadros de dados, ajudam a otimizar o código dos usuários. Um recurso importante como o mecanismo SQL promove a velocidade de execução e torna esse software versátil. Portanto, vimos aplicativos spark executados localmente ou distribuídos em um cluster. O Apache Spark é considerado um ótimo complemento em uma ampla gama de indústrias, como big data. Para resumir, o spark ajuda na resolução de tarefas computacionais elevadas.

Artigos recomendados

Este é um guia para a Apache Spark Architecture. Aqui discutimos a Introdução à arquitetura Apache Spark, juntamente com os componentes e o diagrama de blocos do Apache Spark. Você também pode consultar nossos outros artigos sugeridos para saber mais:

  1. Comandos do Spark Shell
  2. Ecossistema Apache Hadoop
  3. Arquitetura de Big Data
  4. O que é o Apache

Categoria: