projeto-dados-ia-databricks README

The project's README from github.com/lvgalvao/projeto-dados-ia-databricks. As one markdown file: README.md.

🧭 Imersão Jornada de Dados · Rota do Perfume

Construir a área de dados e vendas de uma distribuidora B2B do zero, em 4 noites. Empresa fictícia, dado gerado com seed fixa, sujeira proposital.

Domínio: distribuidora de perfumaria árabe — vende para perfumarias, farmácias, revendedoras e e-commerces. Stack: Databricks Free Edition (serverless), SQL, Python e Claude Code.


🗓️ As noites

Noite Data Tema Pasta
1 seg 24/08 Objetivo e a primeira análise aulas/aula-01-databricks-sql · 📺 gravação
2 ter 25/08 Engenharia de dados: o projeto roda sozinho aulas/aula-02-engenharia-de-dados · 📺 gravação
3 qua 26/08 Ciência de dados: o dado vira decisão aulas/aula-03-ciencia-de-dados · 📺 gravação
4 qui 27/08 Apps e agentes: o projeto ganha uma URL aulas/aula-04-app-e-genie · 📺 gravação

Cada pasta é autocontida: tem o próprio README, os exemplos numerados e o que for preciso rodar.

O arco das quatro noites

  noite 1           noite 2            noite 3            noite 4
  ───────           ───────            ───────            ───────
  a query        →  vira camada     →  vira decisão   →   vira produto
  quebra no         que roda           modelo e fila      app, Genie e o
  dado sujo         sozinha            dos 200            retorno da ligação

  "qual foi        "como não          "para quem eu      "e quem não
   a receita?"      repetir isso?"     ligo segunda?"     escreve SQL?"

🧾 Os 12 prompts, na ordem

O projeto inteiro — do CSV cru ao app que escreve de volta na gold — sai de doze prompts colados em sequência no Claude Code. Cada um termina com um deploy.

➡️ PROMPTS.md — a sequência completa, com o texto de cada prompt pronto para copiar.

Prompts Noite O que existe no fim
1 a 6 engenharia catálogo, pipeline de 12 tarefas, dashboard e Genie
7 a 9 ciência de dados modelo no Unity Catalog e a fila dos 200 · 15 tarefas
10 a 12 apps e agentes Genie da direção, o app e o retorno da ligação · 16 tarefas

O texto dos prompts no PROMPTS.md é extraído dos arquivos de cada noite, não copiado à mão — os dois nunca divergem. O que fica só nos arquivos de cada noite é o resto: o que mostrar antes de colar, o que falar enquanto o Claude Code trabalha, e a tabela "se der errado".


🚀 Comece por aqui

# 1. gerar o dataset (seed fixa: todo mundo gera exatamente o mesmo dado)
python3 material/gerar_dataset.py --saida ./dados --seed 42

# 2. autenticar no Databricks (cria o profile e salva a credencial)
databricks auth login

# 3. seguir a aula 01, que é toda pelo navegador
cd aulas/aula-01-databricks-sql && cat README.md

A noite 2 é a que exige terminal. O passo a passo completo — versões mínimas, o erro de credencial que quase todo mundo vê, bundle init, skills, MCP e guard rails — está em aulas/aula-02-engenharia-de-dados/README.md.

O runner scripts/run_sql.py executa qualquer .sql deste repositório no warehouse, uma statement por vez:

python3 scripts/run_sql.py aulas/aula-01-databricks-sql/exemplo-01-primeiro-select.sql

🎬 O catálogo nasce na aula

Os exemplos apontam para o catálogo lakehouse_rotaperfume, que ainda não existe — ele é criado ao vivo, no primeiro bloco da noite 1:

python3 scripts/run_sql.py aulas/aula-01-databricks-sql/00-setup-catalogo.sql

Isso é proposital. O aluno vê o catálogo nascer vazio, os schemas serem criados e o dado entrar — em vez de receber tudo pronto.

Se você já tem um catálogo com outro nome, troque o prefixo nas queries.

🗄️ O dataset

Gerado por material/gerar_dataset.py, ~14 MB, período de setembro/2024 a agosto/2026.

dados/
├── erp/    produtos · pedidos · itens_pedido · pagamentos · estoque
└── crm/    clientes · vendedores · carteira · oportunidades · visitas
Tabela Linhas O que tem
pedidos 28.729 cliente, vendedor, data, canal, status, valor
itens_pedido 197.724 SKU, quantidade, preço praticado, desconto
pagamentos 27.772 forma, parcelas, vencimento, status
produtos 292 categoria, marca, nota olfativa, custo, lançamento
estoque 8.400 snapshot semanal por SKU, com ruptura
clientes 3.040 CNPJ, razão social, segmento, cidade
visitas 37.936 data, resultado, duração
oportunidades 5.979 funil: origem, etapa, valor, motivo de perda
carteira 3.637 vínculo vendedor ↔ cliente, com vigência
vendedores 42 região, admissão, desligamento, meta

A sujeira é proposital. CNPJ em três formatos, data em dois, cliente duplicado, devolução como quantidade negativa, vendedor desligado com carteira ativa. Limpar isso é o conteúdo da noite 2 — não conserte o gerador.


📁 Estrutura

aulas/
├── aula-01-databricks-sql/          tudo pela interface: catálogo, bronze, 6 exemplos
├── aula-02-engenharia-de-dados/
│   ├── prd/                         os 6 prompts (+ o reset 00) e o roteiro da noite
│   ├── rotaperfume/                 o bundle DABs: raw → bronze → silver → gold → BI → Genie
│   └── slides/                      gerar_slides.py — os slides como código
├── aula-03-ciencia-de-dados/        3 prompts: features, modelo no UC e a fila dos 200
│   ├── prd/                         os 3 prompts, o roteiro e o 99-limpar
│   ├── gabarito/                    src/ml/ pronto, para conferir depois
│   └── notebooks/                   conferência do resultado e a demo de vazamento
└── aula-04-app-e-genie/             3 prompts: o Genie da direção, o app e o retorno
    ├── prd/                         os 3 prompts, o roteiro e o 99-limpar
    └── rotaperfume-direcao/         o Databricks App (AppKit), bundle próprio
material/      PRD da imersão, gerador do dataset, slides
scripts/       run_sql.py — roda um .sql no warehouse
dados/         dataset gerado (não versionado — reproduza com o comando acima)

🔑 Convenções

projeto-dados-ia-databricks (lvgalvao/projeto-dados-ia-databricks)

Searching Database…

Что это?Это практический курс из 4 «ночей», на котором с нуля строится стек данных и аналитики продаж вымышленного B2B-дистрибьютора парфюмерии с использованием Databricks Free Edition, SQL, Python и Claude Code.
Это готовое приложение или курс, который я прохожу?Это курс, построенный вокруг проекта: каждая «ночь» — отдельная самодостаточная папка с README и пронумерованными примерами, а вся сборка состоит в последовательной вставке 12 промптов в Claude Code, каждый из которых заканчивается деплоем.
Как проходить курс?Начните с aulas/aula-01-databricks-sql и пройдите четыре папки «ночей» по порядку; в README второй «ночи» есть полная настройка терминала (минимальные версии, bundle init, skills, MCP, защитные ограничения), а в PROMPTS.md собраны все промпты, готовые к вставке в Claude Code.
Что нужно перед стартом — аккаунт Databricks, Claude Code?Рабочая область Databricks Free Edition (serverless), Claude Code, плюс SQL и Python; большинство команд также требуют Databricks CLI с флагом --profile.
Пример датасета уже чистый?Нет, бардак задуман специально: CNPJ встречаются в трёх форматах, даты — в двух, клиенты дублируются, возвраты выглядят как отрицательные количества, а уволенные торговые представители всё ещё держат активные портфели — их чистка и есть содержание второй «ночи», а не баг генератора, который надо чинить.
Этот курс только на португальском?Да, README, промпты и все материалы курса написаны на португальском и смоделированы на бразильском бизнес-контексте (CNPJ, perfumaria árabe, revendedoras).
О чём история «Rota do Perfume»?Курс строит стек данных и продаж для вымышленного B2B-дистрибьютора арабской парфюмерии, продающего парфюмерным магазинам, аптекам, перекупщикам и интернет-магазинам; синтетические данные генерируются с фиксированным seed.
Что на деле создают 12 промптов?Промпты 1-6 создают каталог, конвейер из 12 задач, дашборд и Genie; промпты 7-9 обучают модель, зарегистрированную в Unity Catalog; промпты 10-12 создают исполнительный Genie, приложение и колбэк-процесс.
Каталог данных уже существует на старте?Нет, каталога lakehouserotaperfume не существует, пока он не будет создан вживую в первой «ночи» — если у вас уже есть каталог под другим именем, просто замените префикс в запросах.
Что покрывает включённый генератор датасета?scripts/material/gerardataset.py создаёт около 14 МБ в десяти таблицах (orders, order items, payments, products, stock, customers, visits, opportunities, portfolios, sales reps) за период с сентября 2024 по август 2026.
Creator
lvgalvao
Size
42.4 MB
Stars
279
Updated
CommitAug 27
Age
1mo
Commits · 90 Days