Aula 04

ETL/ELT com Apache Hop

Agora o aluno sai do tratamento manual e cria um processo repetível: extrair, validar, transformar, carregar, registrar e documentar.

Pipeline

Fluxo técnico de dados.

Qualidade

Regras antes da carga final.

Operação

Logs, parâmetros e documentação.

Conceito

ETL e ELT: a diferença que importa

ETL

Extrai → transforma → carrega.

Transformação acontece antes de gravar no destino final.

ELT

Extrai → carrega → transforma.

Transformação acontece dentro do banco/lake/warehouse.

Para iniciante, o mais importante não é decorar sigla: é entender que processo repetível vence planilha manual.
Apache Hop

O que o Hop resolve?

Leitura

CSV, Excel, banco, arquivos e outras fontes.

Transformação

Tipos, filtros, joins, cálculos, padronização.

Escrita

Staging, dimensões, fatos e tabelas de log.

Parâmetros

Ambiente, caminho, data de carga, conexão.

Logs

Rastreabilidade de sucesso, falha, volume e tempo.

Jobs

Orquestração das etapas do pipeline.

Arquitetura

Pipeline do projeto-guia

01
EntradaSheets exportado/CSV mensal de vendas.
02
StagingCarrega bruto com metadados de origem.
03
ValidaçãoNulos, duplicados, chaves inválidas.
04
Dim/FatoAtualiza dimensões e fato vendas.
05
LogRegistra execução, status e erros.
Staging

Por que não carregar direto na tabela final?

Staging é a zona de pouso. Você não deixa avião cair direto no centro da cidade.

1Preserva o dado bruto para auditoria.
2Permite validar antes de contaminar o modelo.
3Ajuda a rastrear origem e data de carga.
4Facilita reprocessamento.
Qualidade

Regras mínimas antes da carga final

RegraExemploAção
Obrigatórioid_cliente vazioRejeitar linha ou mandar para erro
Tipodata inválidaConverter ou registrar erro
DomínioUF = XXBloquear ou corrigir com regra
Duplicidadepedido repetidoDeduplicar com chave definida
Integridadeproduto inexistenteValidar contra dimensão
Full vs Incremental

Carga full e carga incremental

Full load

Recarrega tudo. Simples, boa para base pequena e início do curso.

  • Mais fácil de entender
  • Mais lento em bases grandes
  • Risco de apagar histórico se mal feito

Incremental

Carrega apenas o novo ou alterado.

  • Mais eficiente
  • Exige chave/data de alteração
  • Precisa controlar duplicidade
Dimensões e fatos

Preparando o terreno para Power BI

Dimensões

Descrevem o contexto.

  • dim_cliente
  • dim_produto
  • dim_filial
  • dim_calendario

Fato

Guarda eventos mensuráveis.

  • fato_vendas
  • qtd
  • valor_unitario
  • valor_total
  • chaves para dimensões
Aula 04 já prepara a Aula 05. Sem essa ponte, Power BI vira só “arrastar campos”.
Logs

Pipeline sem log é chute sofisticado

CREATE TABLE controle_execucao ( id_execucao SERIAL PRIMARY KEY, nome_pipeline VARCHAR(100), dt_inicio TIMESTAMP, dt_fim TIMESTAMP, status VARCHAR(20), linhas_lidas INT, linhas_carregadas INT, linhas_rejeitadas INT, mensagem_erro TEXT );

Mesmo em curso iniciante, mostre esse padrão. Ele cria mentalidade profissional.

Documentação

O entregável não é só o arquivo .hpl

README do pipeline

  • Objetivo
  • Fonte de dados
  • Destino
  • Como executar
  • Parâmetros
  • Regras de qualidade

Diagrama simples

Entrada → staging → validação → dimensões/fato → log.

O aluno precisa conseguir explicar o pipeline sem abrir a ferramenta.

Prática

Lab: Sheets/CSV → PostgreSQL

Etapas

  1. Exportar base do Sheets para CSV
  2. Ler CSV no Hop
  3. Padronizar tipos
  4. Validar nulos e duplicados
  5. Carregar staging
  6. Popular dimensões e fato
  7. Registrar log

Entregável

  • Projeto Hop exportado
  • Scripts das tabelas
  • Print da execução
  • README curto
  • Consulta SQL validando o total carregado
Fechamento

ETL é disciplina operacional, não só ferramenta

Se o processo depende de clique manual e memória, ele ainda não é processo. É improviso.

Entrada padronizada
Validação antes da carga
Logs de execução
Documentação para repetir