Pular para o conteúdo
O Complemento de Dois
  • Concursos
  • Calculadora
  • Estudos
  • Discord
  • Publicações
Home / Big data / Apache Spark

Apache Spark

Visão Geral

O Apache Spark é um motor que permite o processamento de volumes massivos de dados. Essa capacidade é alcançada através do uso de clusters computacionais, dividindo o processamento em diversos nós de trabalho. Sua principal característica é o processamento em memória, que o torna mais rápido que o Hadoop MapReduce.

Componentes principais (hardware)

  • Driver Program: Coordena o fluxo de trabalho e distribui tarefas para os executores
  • Cluster Manager: Alocador de recurso, decidindo qual máquina pode executar a tarefa
  • Worker Nodes: São as máquinas que contém um ou mais Executors.
  • Executors: Processos que executam as tarefas enviadas pelo Driver

Componentes principais (software)

  • Spark Core: Gerencia memória, a recuperação de falhas e o sistema de arquivos
  • Spark SQL: Permite o uso de comandos SQL em DataFrames
  • Spark Streaming: Processa dados em tempo real
  • MLlib: Biblioteca de algoritmos de Machine Learning
  • GraphX: Focado em processamento de grafos

Operações comuns

  • Transformações: São operações que criam um novo DataFrame a partir de um já existente, do tipo lazy.
  • Ações: A partir das transformações, executa operações que de fato executam cálculos.

Resiliência

  • RDD (Resilient Distributed Dataset): Fundamenta-se na ideia do dado físico dividido em pequenas partes e distribuído pelo cluster.
  • DAG (Directed Acyclic Graph): Plano lógico que indica qual a forma mais rápida de executar as ações.
  • Lineage: Registro contido dentro do DAG que diz exatamente de onde cada dado veio.

Dataframes

  • Imutabilidade: Ao aplicar um filtro ou criar uma nova coluna, o Spark não modifica o objeto original, é criado um novo DataFrame que representa o resultado dessa operação.
  • Particionamento: Os dados são divididos em pequenos pedaços, chamados partições e espalhados pelo cluster.
  • Shuffling: Ocorre quando o Spark precisa mover dados entre diferentes máquinas do cluster para completar uma operação.
  • Schema: O DataFrame do Spark exige um Schema (nome das colunas e tipos de dados: String, Integer, Timestamp, etc.).
  • Caching: Capacidade de armazenamento de resultados intermediários no caso de DataFrames usados diversas vezes.

Conceitos diversos

  • Broadcast Variables: As Broadcast Variables são variáveis somente leitura que ficam armazenadas em cache em cada máquina (nó), em vez de serem enviadas junto com cada tarefa individual.
  • Accumulators: Os Accumulators são para “escrita” (especificamente, para agregação). Eles são variáveis que só podem ser “somadas” ou incrementadas.

Streaming x Batch

  • Em Lote (Batch): O Spark vê os dados como uma tabela fixa e com fim. Ele lê tudo, processa e encerra o trabalho.
  • Em Streaming: O Spark trata o fluxo como uma “Tabela Não Delimitada” (Unbounded Table). Novos dados que chegam são simplesmente novas linhas sendo anexadas ao final dessa tabela infinita.
Categorias: Big data
Tags: apache, big data, spark
Publicado em: 28/04/2026 19:53 e Atualizado em: 28/04/2026 19:54

Compartilhe este post:

Facebook Twitter LinkedIn WhatsApp

Navegação de Post

Post anterior: Análise Pontos de Função
Próximo post: Modelo OSI: Camada física

Posts Recentes

  • GoF
    Padrões de Projeto GoF1 de junho de 2026
  • POO
    Programação Orientada a Objetos (POO)1 de junho de 2026
  • CMMI-20
    CMMI-DEV v2.031 de maio de 2026
  • RUP
    RUP (Rational Unified Process)31 de maio de 2026
  • scrum
    Scrum31 de maio de 2026
  • Política de privacidade

2026. O Complemento de Dois. Todos os direitos reservados.