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.
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 perguntaSem alternativas para chutar: você escreve, a IA corrige com a rubrica do tópico e diz em que nível sua resposta está.
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.