Antes de começarPython e SQL intermediários, terminal e noção de Parquet.
Engenharia de DadosPipelines incrementais em escala.
LAB 33APRENDA CONSTRUINDO.
UM LAB. UM PROJETO COMPLETO.
DO CONCEITO À EXECUÇÃO
É isso que você vai construir.
Processe só o que mudou, com checkpoints, partições Parquet e verificação por replay.
Você trata duplicatas e eventos atrasados, atualiza apenas as partições afetadas e grava o progresso com segurança. A verificação compara a execução incremental com uma reconstrução completa.
O incpipe: uma fonte simulada com duplicatas, eventos fora de ordem e atrasados; um pipeline que lê a partir de um checkpoint, agrupa por janela de uma hora, reescreve só as partições Parquet tocadas, faz o merge do estado dos pedidos por bucket, manda o que chegou tarde demais para a quarentena e só então grava o checkpoint; e uma verificação que prova que incremental dá o mesmo resultado que reconstruir do zero.
5 minpara o demo*
57páginas de conteúdo
17seções no ebook
*Estimativa do Lab. Preparação do ambiente e downloads podem acrescentar tempo.
DUAS PARTES. O MESMO PROJETO.
Um guia para entender. Um projeto para fazer.
Leia, execute e volte ao trecho que precisar. O ritmo é seu.
O ebook visual
57 páginas em português, com diagramas, decisões de implementação e exercícios nas seções práticas.
PDF · EDIÇÃO VISUAL
O repositório completo
Código, dados de exemplo, instruções de execução e 33 testes de unidade. Inclui o ambiente Docker do projeto.
Depois da compra, o repositório do Lab é enviado por e-mail e WhatsApp para o cadastro feito na Hotmart.
CÓDIGO · TESTES · DOCUMENTAÇÃO
O CAMINHO DO LAB
Saiba onde você vai chegar.
17 seções para acompanhar o projeto, do ambiente aos próximos passos.
Edição visual · 57 páginas
01Introdução+
Conheça um pipeline incremental que recebe duplicatas, atrasos e eventos fora de ordem. Veja como checkpoints, arquivos e reprocessamento se combinam para permitir retomadas verificáveis.
02Ambiente Python+
Prepare o ambiente Python e rode o demo completo. Inspecione os bancos e arquivos gerados para reconhecer fonte, estado do pipeline e datasets de saída.
03Requirements explicados+
Entenda DuckDB no processamento SQL, PyArrow no transporte dos dados e Parquet no armazenamento. Veja por que o laboratório mantém os arquivos como fonte dos datasets.
04O mapa do sistema+
Separe responsabilidades da fonte, do banco de estado e do lake em arquivos. Acompanhe uma execução para entender quem escreve cada informação e quando ela se torna confirmada.
05Por que incremental é difícil+
Compare formas de identificar dados novos e diferencie tempo do evento e da chegada. Entenda janelas, marca d'água, tolerância a atraso e idempotência.
06A fonte: gerar eventos de exemplo+
Gere eventos de pedidos com cursor sequencial, duplicatas e atrasos intencionais. Use uma fonte determinística para testar situações que uma carga incremental precisa tratar.
07Modelar estado e checkpoints+
Persista checkpoints, execuções e registros do pipeline em um banco separado da fonte. Entenda o momento do commit e como o cursor determina de onde retomar a leitura.
08Processar por janelas+
Agrupe eventos por hora e classifique atrasos usando a marca d'água. Reescreva as janelas afetadas e encaminhe eventos fora da tolerância para quarentena com o motivo.
09Salvar Parquet particionado+
Organize datasets em partições Parquet e examine a escrita atômica e os fingerprints. Gere métricas por janela e consulte os arquivos aproveitando filtros de partição.
10Merge: o estado atual de cada pedido+
Mantenha uma linha atual por pedido com merge em SQL. Distribua o snapshot em buckets para reescrever apenas os grupos afetados e lidar com eventos fora de ordem.
11Dados atrasados e reprocessamento+
Observe eventos novos alterando janelas já gravadas e compare suas versões. Experimente quarentena, reprocessamento de uma janela e reconstrução completa do lake.
12Testar a idempotência+
Injete uma falha entre a gravação dos arquivos e o checkpoint. Compare registros, arquivos e reconstrução para comprovar que a retomada mantém os resultados esperados.
13Rodar com Docker+
Empacote o pipeline em Docker e preserve os dados fora do container. Execute o demo e acompanhe o servidor de status com o pipeline em movimento.
14Troubleshooting+
Investigue ausência de dados novos, datasets ainda inexistentes e divergências nos arquivos. Use verificação, reprocessamento e reconstrução conforme o alcance do problema.
15Custos, limites e trade-offs+
Meça o custo de uma hora nova contra a reconstrução completa. Entenda as limitações do armazenamento local e quais partes da arquitetura precisariam mudar para produção.
16Próximos passos+
Explore uma fonte baseada em data de atualização, com sobreposição e deduplicação. Use medições e testes para avaliar novas estratégias de leitura sem perder eventos atrasados.
17Checklist final+
Confira cursor, checkpoints, janelas, partições e merge de pedidos. Verifique o tratamento de atrasos e a retomada após falhas com comparação dos resultados.
PARA COMEÇAR COM CLAREZA
Seu ponto de partida.
Conhecimento prévio
Python e SQL intermediários, terminal e noção de Parquet. Nível: Python + SQL.
Ferramentas do projeto
Python, DuckDB, PyArrow, SQLite. As instruções de instalação e as versões estão no pacote.
Custo para executar
Zero. Sem cluster, sem serviço, sem conta. Roda em um notebook comum.
Tempo para aprender
4–5 h estimadas para ler, executar e entender. Você pode dividir o estudo em várias sessões.