Añadir roadmap_estudos
This commit is contained in:
commit
8234ea59b0
155
roadmap_estudos
Normal file
155
roadmap_estudos
Normal 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.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user