Pular para o conteúdo

Trilha de estudo

Trilha Apache Spark: tudo o que estudar, tópico por tópico

Avaliacao abrangente de Apache Spark cobrindo fundamentos de computacao distribuida, RDDs e DataFrames, Spark SQL, streaming estruturado, MLlib, otimizacao de desempenho e padroes de implantacao em producao.

Resposta curta

Para aprender Apache Spark, percorra 6 módulos e 22 tópicos na ordem em que um apoia o próximo. Comece por Fundamentos do Spark e siga para RDDs & DataFrames e Spark SQL. Use o mapa como checklist, ou meça seu nível e estude só o que falta.

6
módulos
22
tópicos
45
min para avaliar

O que você vai estudar

Os tópicos estão agrupados por módulo. Abra um para ver os objetivos e os conceitos-chave.

1 · Fundamentos do Spark3 tópicos
  • Arquitetura do Spark

    Modelo driver e executor, SparkContext, SparkSession, gerenciadores de cluster (YARN, Mesos, Kubernetes, Standalone), hierarquia job-stage-task, agendador DAG e avaliacao preguicosa

    Objetivos

    • Explicar a arquitetura driver-executor do Spark
    • Compreender como o Spark divide jobs em stages e tasks

    Conceitos-chave

    • programa driver
    • processos executor
    • SparkContext
    • SparkSession
    • gerenciador de cluster
    • agendador DAG
    • avaliacao preguicosa
    • hierarquia job-stage-task
  • Ecossistema Spark

    Spark Core, Spark SQL, Spark Streaming, MLlib, GraphX, PySpark, API Scala, SparkR e integracao com ecossistema Hadoop

    Objetivos

    • Identificar os componentes do ecossistema Spark
    • Escolher o modulo Spark adequado para cada caso de uso

    Conceitos-chave

    • Spark Core
    • Spark SQL
    • Spark Streaming
    • MLlib
    • GraphX
    • PySpark
    • integracao com Hadoop
    • motor de analitica unificado
  • Configuracao do Spark

    SparkSession builder, spark-submit, propriedades de configuracao, modo local vs cluster, empacotamento de aplicacao e gerenciamento de dependencias

    Objetivos

    • Configurar e executar aplicacoes Spark
    • Compreender opcoes do spark-submit e modos de implantacao

    Conceitos-chave

    • SparkSession.builder
    • spark-submit
    • propriedades spark.conf
    • modo local
    • modo cluster
    • JAR da aplicacao
    • gerenciamento de dependencias
    • spark-defaults.conf
2 · RDDs & DataFrames5 tópicos
  • Fundamentos de RDD

    Criacao de RDDs a partir de colecoes e arquivos, particionamento, imutabilidade, tolerancia a falhas atraves de linhagem, dependencias estreitas vs amplas

    Objetivos

    • Criar RDDs a partir de diversas fontes de dados
    • Explicar como o Spark alcanca tolerancia a falhas atraves de linhagem

    Conceitos-chave

    • criacao de RDD (parallelize, textFile)
    • particoes
    • imutabilidade
    • grafo de linhagem
    • tolerancia a falhas
    • dependencias estreitas
    • dependencias amplas
    • persistencia de RDD
  • Transformacoes & Acoes de RDD

    Transformacoes (map, filter, flatMap, reduceByKey, groupByKey, join), acoes (collect, count, reduce, saveAsTextFile), cadeia de avaliacao preguicosa

    Objetivos

    • Distinguir entre transformacoes e acoes
    • Aplicar transformacoes comuns de RDD corretamente

    Conceitos-chave

    • transformacao map
    • transformacao filter
    • transformacao flatMap
    • reduceByKey
    • groupByKey
    • acoes vs transformacoes
    • acao collect
    • cadeia de avaliacao preguicosa
  • API de DataFrame

    Criacao de DataFrames, operacoes de coluna (select, filter, withColumn, groupBy, agg), joins, UDFs e integracao com otimizador Catalyst

    Objetivos

    • Realizar manipulacao de dados usando a API de DataFrame
    • Compreender quando usar DataFrames em vez de RDDs

    Conceitos-chave

    • criacao de DataFrame
    • select e filter
    • withColumn
    • groupBy e agg
    • tipos de join
    • UDFs (Funcoes Definidas pelo Usuario)
    • expressoes de Column
    • DataFrame vs RDD
  • API de Dataset

    Operacoes tipadas de Dataset, Encoders, case classes, trade-offs Dataset vs DataFrame vs RDD, seguranca de tipo em tempo de compilacao

    Objetivos

    • Usar a API tipada de Dataset para seguranca em tempo de compilacao
    • Avaliar trade-offs entre Dataset, DataFrame e RDD

    Conceitos-chave

    • Dataset[T]
    • Encoders
    • case classes
    • seguranca de tipo
    • map em Dataset
    • conversao as[T]
    • Dataset vs DataFrame
    • overhead de serializacao
  • Esquema & Tipos de Dados

    StructType, StructField, tipos de dados (StringType, IntegerType, ArrayType, MapType), inferencia de esquema vs esquema explicito, evolucao de esquema

    Objetivos

    • Definir e aplicar esquemas a DataFrames
    • Lidar com tipos de dados complexos e aninhados

    Conceitos-chave

    • StructType
    • StructField
    • tipos de dados Spark
    • inferencia de esquema
    • definicao explicita de esquema
    • campos anulaveis
    • tipos complexos (ArrayType, MapType)
    • evolucao de esquema
3 · Spark SQL4 tópicos
  • Consultas Spark SQL

    Executar consultas SQL em DataFrames, views temporarias, views globais, subconsultas, CTEs e biblioteca de funcoes SQL

    Objetivos

    • Escrever consultas Spark SQL em views registradas
    • Escolher entre SQL e API de DataFrame conforme o caso de uso

    Conceitos-chave

    • createOrReplaceTempView
    • spark.sql()
    • views temporarias globais
    • subconsultas
    • CTEs (clausula WITH)
    • funcoes SQL embutidas
    • SQL vs API de DataFrame
    • API de catalogo
  • Otimizador Catalyst

    Plano logico, plano fisico, regras de otimizacao (pushdown de predicado, poda de colunas, folding de constantes), motor Tungsten, geracao de codigo whole-stage

    Objetivos

    • Ler e interpretar planos de execucao de consultas Spark
    • Compreender como o Catalyst otimiza consultas

    Conceitos-chave

    • plano logico
    • plano fisico
    • pushdown de predicado
    • poda de colunas
    • folding de constantes
    • motor Tungsten
    • codegen whole-stage
    • saida do explain()
  • Fontes de Dados & Formatos

    Leitura/escrita de Parquet, ORC, JSON, CSV, Avro, JDBC, Delta Lake, descoberta de particoes, mesclagem de esquemas e opcoes de fontes de dados

    Objetivos

    • Ler e escrever dados em varios formatos
    • Escolher formatos de arquivo apropriados para diferentes casos de uso

    Conceitos-chave

    • formato Parquet
    • formato ORC
    • leitores JSON/CSV
    • suporte Avro
    • fonte de dados JDBC
    • descoberta de particoes
    • mesclagem de esquemas
    • modos de escrita (append, overwrite, ignore)
  • Funcoes de Janela

    Especificacoes de janela, funcoes de ranking (row_number, rank, dense_rank), janelas de agregacao, lead/lag, especificacoes de frame (rows, range)

    Objetivos

    • Aplicar funcoes de janela para analises avancadas
    • Definir frames de janela para calculos continuos

    Conceitos-chave

    • especificacao de janela
    • partitionBy
    • orderBy
    • row_number
    • rank / dense_rank
    • lead / lag
    • especificacao de frame (rows/range)
    • agregacoes continuas
4 · Streaming & MLlib4 tópicos
  • Streaming Estruturado

    DataFrames de streaming, readStream/writeStream, modos de saida (append, complete, update), triggers, watermarks e processamento por tempo de evento

    Objetivos

    • Construir pipelines de streaming com Streaming Estruturado
    • Tratar dados atrasados com watermarks

    Conceitos-chave

    • readStream
    • writeStream
    • modos de saida (append, complete, update)
    • triggers
    • watermarks
    • processamento por tempo de evento
    • tratamento de dados atrasados
    • fontes e destinos de streaming
  • Fundamentos do MLlib

    Algoritmos de ML (classificacao, regressao, clustering), transformadores de features, Vectors (denso/esparso), LabeledPoint, treinamento e avaliacao de modelos

    Objetivos

    • Treinar modelos de aprendizado de maquina usando MLlib
    • Avaliar desempenho de modelos com metricas apropriadas

    Conceitos-chave

    • algoritmos de classificacao
    • algoritmos de regressao
    • clustering (KMeans)
    • transformadores de features
    • Vectors (denso/esparso)
    • treinamento de modelo
    • avaliacao de modelo
    • validacao cruzada
  • Pipelines de ML

    API de Pipeline, Transformers e Estimators, estagios de Pipeline, ajuste de hiperparametros, ParamGrid, CrossValidator, persistencia de modelos

    Objetivos

    • Construir pipelines de ML de ponta a ponta com Spark
    • Ajustar hiperparametros usando CrossValidator

    Conceitos-chave

    • API de Pipeline
    • Transformer
    • Estimator
    • estagios de Pipeline
    • ParamGridBuilder
    • CrossValidator
    • TrainValidationSplit
    • salvar/carregar modelo
  • Padroes de Processamento de Stream

    Joins stream-stream, joins stream-estatico, deduplicacao, processamento stateful, mapGroupsWithState, flatMapGroupsWithState, checkpointing

    Objetivos

    • Implementar padroes complexos de processamento de stream
    • Projetar aplicacoes de streaming stateful com garantias exactly-once

    Conceitos-chave

    • joins stream-stream
    • joins stream-estatico
    • deduplicacao
    • mapGroupsWithState
    • flatMapGroupsWithState
    • processamento stateful
    • checkpointing
    • semantica exactly-once
5 · Desempenho & Otimizacao3 tópicos
  • Gerenciamento de Memoria

    Modelo de memoria unificado, memoria de execucao, memoria de armazenamento, memoria off-heap, overhead de memoria, ajuste de GC, serializacao (Kryo vs Java)

    Objetivos

    • Configurar parametros de memoria do Spark para desempenho otimo
    • Diagnosticar e resolver problemas relacionados a memoria

    Conceitos-chave

    • modelo de memoria unificado
    • memoria de execucao
    • memoria de armazenamento
    • memoria off-heap
    • spark.memory.fraction
    • serializacao Kryo
    • ajuste de GC
    • overhead de memoria
  • Shuffles & Particionamento

    Operacoes de shuffle, particionamento hash, particionamento por faixa, assimetria de dados, tecnica de salting, broadcast joins, gerenciamento de arquivos de shuffle

    Objetivos

    • Otimizar operacoes de shuffle para processamento em larga escala
    • Resolver problemas de assimetria de dados com estrategias de particionamento

    Conceitos-chave

    • operacoes de shuffle
    • particionador hash
    • particionador por faixa
    • spark.sql.shuffle.partitions
    • assimetria de dados
    • tecnica de salting
    • broadcast join
    • coalesce vs repartition
  • Cache & Persistencia

    cache() vs persist(), niveis de armazenamento (MEMORY_ONLY, MEMORY_AND_DISK, etc.), quando usar cache, unpersist, checkpoint vs cache, variaveis broadcast, acumuladores

    Objetivos

    • Aplicar estrategias de cache para otimizar cargas de trabalho iterativas
    • Escolher niveis de armazenamento apropriados para diferentes cenarios

    Conceitos-chave

    • cache()
    • persist()
    • niveis de armazenamento
    • MEMORY_ONLY
    • MEMORY_AND_DISK
    • unpersist()
    • variaveis broadcast
    • acumuladores
6 · Producao & Arquitetura3 tópicos
  • Gerenciamento de Cluster

    YARN, Kubernetes, agendador Standalone, alocacao dinamica, negociacao de recursos, dimensionamento de executores, configuracoes do spark-submit

    Objetivos

    • Configurar clusters Spark para cargas de trabalho em producao
    • Dimensionar executores e drivers adequadamente

    Conceitos-chave

    • gerenciador de recursos YARN
    • operador Kubernetes
    • agendador Standalone
    • alocacao dinamica
    • memoria/cores do executor
    • dimensionamento do driver
    • gerenciamento de filas
    • isolamento de recursos
  • Monitoramento & Depuracao

    Spark UI, logs de eventos, sistema de metricas, analise de stages/tasks, identificacao de gargalos, logs de executor, troubleshooting de OOM, Spark History Server

    Objetivos

    • Usar o Spark UI para identificar gargalos de desempenho
    • Diagnosticar falhas comuns do Spark e erros de OOM

    Conceitos-chave

    • abas do Spark UI
    • logs de eventos
    • Spark History Server
    • analise de stages
    • metricas de tasks
    • logs de executor
    • troubleshooting de OOM
    • visualizacao de DAG
  • Padroes de Implantacao & Arquitetura

    Arquitetura Lambda, arquitetura Kappa, arquitetura lakehouse, Delta Lake, frameworks de qualidade de dados, CI/CD para Spark, estrategias de teste, multi-tenancy

    Objetivos

    • Projetar arquiteturas de dados em producao com Spark
    • Implementar pipelines de CI/CD para aplicacoes Spark

    Conceitos-chave

    • arquitetura Lambda
    • arquitetura Kappa
    • arquitetura lakehouse
    • Delta Lake
    • CI/CD para Spark
    • estrategias de teste
    • multi-tenancy
    • governanca de dados

Níveis: Júnior, Pleno, Sênior e Especialista

Explique com suas palavras

Corrigido por IA · sem cadastro · 1 pergunta

Sem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.

0 / 600

Já estuda Apache Spark?

A avaliação mede tópico por tópico, e o plano pula o que você já sabe.

Aberto para ler. A conta só é necessária para ser medido.

Perguntas frequentes

Por onde começar a estudar Apache Spark?

Comece por Fundamentos do Spark: Arquitetura do Spark, Ecossistema Spark e Configuracao do Spark. O mapa ordena os tópicos pelo que depende de quê, então cada um prepara o seguinte.

Quanto tempo leva uma avaliação completa de Apache Spark?

Uma avaliação completa desta trilha leva cerca de 45 minutos. O tempo de estudo depende de onde você começa; o diagnóstico mostra quais tópicos você pode pular.

Preciso de conta para usar esta página?

Não. O mapa, os objetivos e os conceitos-chave são abertos. A conta só é necessária para ser medido, ver seu gap por tópico e receber um plano.