Añadir roadmap_estudos

This commit is contained in:
Neo And 2025-08-22 22:12:32 -06:00
commit 8234ea59b0

155
roadmap_estudos Normal file
View File

@ -0,0 +1,155 @@
# 📅 Roadmap de Estudo Airbyte + dbt (6 Semanas)
---
## 🔹 Semana 1 Fundamentos
🎯 Objetivo: Entender a stack e preparar ambiente.
1. **Conceitos**
* ETL vs ELT (Airbyte → EL, dbt → T).
* O papel do BigQuery como *data warehouse*.
* O Metabase como camada de visualização.
2. **Infraestrutura**
* Instalar Docker e Docker Compose.
* Subir Airbyte local (`docker-compose up`).
* Criar um projeto vazio dbt (`dbt init`).
---
## 🔹 Semana 2 SQL básico + Airbyte inicial
🎯 Objetivo: Ganhar confiança em SQL e usar o Airbyte para extrair dados.
1. **SQL**
* SELECT, WHERE, ORDER BY, LIMIT.
* Funções simples: `UPPER()`, `ROUND()`, `DATE_TRUNC()`.
2. **Airbyte**
* Configurar **primeiro Source** (CSV local ou Google Sheets).
* Configurar **Destination BigQuery**.
* Verificar dados carregados no dataset `raw`.
👉 Exercício: carregar um CSV de vendas → BigQuery.
---
## 🔹 Semana 3 SQL intermediário + dbt no básico
🎯 Objetivo: Começar a transformar dados no dbt.
1. **SQL**
* JOINs, GROUP BY, agregações.
* CTE (`WITH ...`) para organizar consultas.
2. **dbt**
* Conectar dbt ao BigQuery (`profiles.yml`).
* Criar pastas: `models/staging`, `models/core`.
* Criar modelo de staging:
```sql
select
cast(order_date as date) as order_date,
customer_id,
amount
from {{ source('raw', 'sales') }}
```
3. **Airbyte + dbt**
* Ativar *Normalization* no Airbyte (dbt integrado).
* Comparar resultados: bruto (`raw`) vs normalizado.
---
## 🔹 Semana 4 Estruturação de pipeline
🎯 Objetivo: Montar pipeline completo Airbyte → BigQuery → dbt.
1. **Airbyte**
* Adicionar múltiplos sources (CSV, MySQL, API).
* Enviar todos para BigQuery → schema `raw`.
2. **dbt**
* Usar `ref()` para relacionar modelos.
* Criar `core` consolidado:
```sql
select
c.customer_name,
sum(s.amount) as total_sales
from {{ ref('customers_stg') }} c
join {{ ref('sales_stg') }} s on c.id = s.customer_id
group by 1
```
3. **Testes dbt**
* Adicionar `schema.yml` com testes `not_null`, `unique`.
---
## 🔹 Semana 5 Avançando no dbt
🎯 Objetivo: Criar datasets prontos para analytics.
1. **SQL avançado**
* Window functions (`ROW_NUMBER`, `RANK`, `LAG`).
* CASE WHEN.
* Funções de data (`EXTRACT`, `DATE_TRUNC`).
2. **dbt avançado**
* Materializações (`view`, `table`, `incremental`).
* Documentação (`dbt docs generate`).
* Usar macros simples (Jinja).
3. **Airbyte + dbt**
* Configurar sync automático no Airbyte.
* Garantir que dbt roda após sync.
---
## 🔹 Semana 6 Entrega final com Metabase
🎯 Objetivo: Expor insights em dashboards.
1. **Metabase**
* Conectar ao BigQuery (schema `analytics`).
* Criar gráficos:
* Vendas por mês.
* Clientes ativos.
* Ticket médio.
2. **Pipeline completo**
* Fonte → Airbyte → BigQuery (raw) → dbt (analytics) → Metabase.
* Validar atualizações automáticas (trocar CSV e ver dashboard mudar).
3. **Boa prática**
* Versionar dbt no Git.
* Adotar convenções: `raw` → `staging` → `core` → `marts`.
---
# ✅ Resultado esperado
* Você domina o **Airbyte** para ingestão de dados.
* Consegue criar e rodar um **projeto dbt** (staging/core/marts).
* Tem um **pipeline real** funcionando no BigQuery.
* Consegue criar dashboards no **Metabase** com dados atualizados automaticamente.