Trilha de Desenvolvimento
Este guia apresenta o fluxo completo de desenvolvimento de um projeto no Microsoft Fabric, indicando quais cargas de trabalho utilizar em cada etapa.
Visão Geral do Fluxo
1. SETUP
Lakehouse
Warehouse
2. INGESTÃO(Bronze)
Pipeline
Copy Job
Dataflow
Notebook
3. TRANSFORMAÇÃO(Silver/Gold)
Notebook
Dataflow
4. CONSUMO(BI/ML)
Semantic
Relatório
ML
← ← ← Fluxo de execução → → →
5. ORQUESTRAÇÃO
Pipeline Master — Automatiza todas as etapas
Etapa 1: Setup do Ambiente
Objetivo: Criar a estrutura de destino dos dados no OneLake.
| Ação | Carga de Trabalho | Artefato Criado |
|---|---|---|
| Criar repositório de dados Bronze | Lakehouse | lh_corp_bronze |
| Criar repositório de dados Silver | Lakehouse | lh_corp_silver |
| Criar repositório de dados Gold | Lakehouse | lh_corp_gold |
| Criar warehouse para consultas SQL (opcional) | Warehouse | wh_corp_analytics |
Quando usar Warehouse vs Lakehouse?
- Lakehouse: Processamento Spark, arquitetura Medallion, Direct Lake
- Warehouse: Equipes que preferem T-SQL puro, integrações ODBC/JDBC
Etapa 2: Ingestão (Bronze)
Objetivo: Extrair dados das fontes e carregar no Lakehouse Bronze sem transformações.
Opções de Cargas de Trabalho
| Carga de Trabalho | Quando Usar | Exemplo |
|---|---|---|
| Copy Job | Cópia simples e direta, sem necessidade de orquestração complexa | Copiar tabela única do SQL Server para o Lakehouse |
| Data Pipeline (Copy Activity) | Cópia com orquestração, múltiplas tabelas, agendamento avançado | Extrair várias tabelas do Protheus em sequência |
| Dataflow Gen2 | Fontes que precisam de leve tratamento visual (Power Query) | Ingerir Excel do SharePoint com seleção de colunas |
| Notebook PySpark | Fontes complexas, APIs com paginação, lógica customizada | API com autenticação OAuth e paginação |
Matriz de Decisão: Ingestão
QUAL A FONTE DE DADOS?
↓
Banco de Dados(SQL Server, Oracle, MySQL)
Arquivo(Excel, CSV, Parquet, JSON)
API(REST, SOAP, GraphQL)
↓
↓
↓
Quantas tabelas? Precisa orquestrar?
Precisa de transformação leve?
Lógica complexa? (paginação, auth)
↓
↓
↓
SIMPLES
Copy Job
MÚLTIPLAS
Pipeline
USAR
Dataflow Gen2Power Query
SIMPLES
Pipeline
COMPLEXA
Notebook
Copy Job vs Pipeline: Quando usar cada um?
| Critério | Copy Job | Data Pipeline |
|---|---|---|
| Complexidade | Simples, uma origem → um destino | Múltiplas origens, orquestração complexa |
| Agendamento | Básico | Avançado (triggers, dependências) |
| Transformação | Nenhuma | Suporta atividades de transformação |
| Caso de uso | Copiar tabela única rapidamente | ETL completo com múltiplas etapas |
| Curva de aprendizado | Baixa | Média |
Exemplo Prático: Ingestão
| Fonte | Carga de Trabalho | Artefato | Destino |
|---|---|---|---|
| Protheus (SA1 - Clientes) | Copy Job | cj_protheus_sa1 | lh_corp_bronze.dbo.tb_raw_protheus_sa1 |
| Protheus (Múltiplas tabelas) | Data Pipeline | pl_bronze_protheus_ingestao | lh_corp_bronze.dbo.tb_raw_protheus_* |
| SharePoint (Metas.xlsx) | Dataflow Gen2 | df_bronze_sharepoint_goals | lh_corp_bronze.dbo.tb_raw_sharepoint_sales_goals |
| API BCB (Cotação Dólar) | Notebook | nb_bronze_dollar_rate | lh_corp_bronze.dbo.tb_raw_api_dollar_rate |
Etapa 3: Transformação (Silver)
Objetivo: Limpar, padronizar e aplicar regras de qualidade nos dados.
Opções de Cargas de Trabalho
| Carga de Trabalho | Quando Usar | Exemplo |
|---|---|---|
| Notebook PySpark | Transformações complexas, grande volume, lógica de negócio | Deduplicação por CNPJ, cálculo de métricas |
| Dataflow Gen2 | Transformações simples, equipe familiarizada com Power Query | Renomear colunas, filtrar registros nulos |
Matriz de Decisão: Transformação Silver
QUAL A COMPLEXIDADE DA TRANSFORMAÇÃO?
↓
SIMPLESFiltros, renomear colunas, conversão de tipos, remover nulos
COMPLEXAJoins, deduplicação, merge/upsert, UDFs, regras de negócio
↓
↓
USAR
Dataflow Gen2Interface visual Power Query
USAR
Notebook PySparkCódigo Python/Spark
Exemplos:• Renomear colunas do Protheus• Filtrar registros ativos• Converter datas
Exemplos:• Deduplicação por CNPJ• Join SD2 + SC5 (vendas)• SCD Type 2
Exemplo Prático: Transformação Silver
| Transformação | Carga de Trabalho | Artefato | Origem → Destino |
|---|---|---|---|
| Limpeza de clientes (dedup CNPJ, padronização) | Notebook | nb_silver_customer_cleaning | tb_raw_protheus_sa1 → tb_dim_customer |
| Hierarquia de produtos | Notebook | nb_silver_product_transformation | tb_raw_protheus_sb1 → tb_dim_product |
| Fato de vendas (join SD2 + SC5) | Notebook | nb_silver_sales_transformation | tb_raw_protheus_sd2 + sc5 → tb_fact_sales |
| Dimensão tempo | Notebook | nb_util_generate_dim_date | Script gerador → tb_dim_date |
Etapa 4: Agregação (Gold)
Objetivo: Criar agregações, KPIs e views otimizadas para consumo.
Matriz de Decisão: Agregação Gold
QUAL O TIPO DE AGREGAÇÃO?
↓
SIMPLESViews, agregações básicas, GROUP BY direto
COMPLEXAKPIs com múltiplas regras, grandes volumes, lógica condicional
↓
↓
USAR
SQL EndpointT-SQL no Lakehouse/Warehouse
USAR
Notebook PySparkCódigo Python/Spark
Exemplos:• Views para Power BI• SUM/COUNT por período• Tabelas agregadas simples
Exemplos:• KPIs com regras condicionais• Agregações multi-tabela• Cálculos de ranking/percentil
Exemplo Prático: Agregação Gold
| Agregação | Carga de Trabalho | Artefato | Origem → Destino |
|---|---|---|---|
| Vendas agregadas por dia/mês | Notebook | nb_gold_sales_aggregation | tb_fact_sales → tb_agg_sales_daily, tb_agg_sales_monthly |
| KPIs comerciais | Notebook | nb_gold_kpis_calculation | tb_fact_sales + tb_fact_goals → tb_kpi_sales_* |
| View para Power BI | SQL Endpoint | Query SQL | tb_agg_* → vw_sales_powerbi |
Etapa 5: Consumo (BI e ML)
Objetivo: Disponibilizar dados para análise e modelos preditivos.
Opções de Cargas de Trabalho
| Carga de Trabalho | Quando Usar | Artefato |
|---|---|---|
| Semantic Model | Modelagem dimensional para Power BI | sm_sales_general |
| Relatório Power BI | Visualização e dashboards | Comercial - Vendas Diárias |
| Notebook ML | Treinamento e scoring de modelos | nb_ml_churn_training |
Modo de Conexão: Direct Lake
FLUXO DIRECT LAKE — CONSUMO SEM IMPORTAÇÃO
Direct Lake→sem importação
Consumo→em tempo real
⚡ PerformanceLeitura direta do Delta sem cópia
🔄 AtualizaçãoDados sempre atualizados automaticamente
💾 StorageSem duplicação de dados
Exemplo Prático: Consumo
| Necessidade | Carga de Trabalho | Artefato |
|---|---|---|
| Dashboard de vendas | Semantic Model + Relatório | sm_sales_general → Comercial - Vendas Diárias |
| Análise ad-hoc SQL | Warehouse / SQL Endpoint | wh_corp_analytics |
| Previsão de churn | Notebook ML | nb_ml_churn_scoring → tb_ml_churn_predictions |
Etapa 6: Orquestração
Objetivo: Automatizar e agendar a execução do fluxo completo.
Carga de Trabalho
| Carga de Trabalho | Função |
|---|---|
| Data Pipeline | Orquestrar a execução sequencial de todas as etapas |
Estrutura do Pipeline Master
pl_master_daily — Execução às 6h
1
↓
2
↓
3
↓
4
Resumo: Cargas de Trabalho por Etapa
| Etapa | Cargas de Trabalho | Objetivo |
|---|---|---|
| 1. Setup | Lakehouse, Warehouse | Criar estrutura de destino |
| 2. Ingestão (Bronze) | Copy Job, Pipeline, Dataflow Gen2, Notebook | Extrair dados das fontes |
| 3. Transformação (Silver) | Notebook, Dataflow Gen2 | Limpar e padronizar |
| 4. Agregação (Gold) | Notebook, SQL | Agregar e criar KPIs |
| 5. Consumo | Semantic Model, Relatório, Notebook ML | Análise e predição |
| 6. Orquestração | Pipeline (Master) | Automatizar execução |
Fluxo Visual Completo
FONTES DE DADOS
ProtheusSQL Server
SharePointExcel
APIsREST
OutrosCSV, JSON
↓
↓
lh_corp_bronzetb_raw_protheus_sa1 | tb_raw_protheus_sd2 | tb_raw_sharepoint_sales_goals | tb_raw_api_dollar_rate
↓
↓
lh_corp_silvertb_dim_customer | tb_dim_product | tb_dim_date | tb_fact_sales | tb_fact_stock
↓
↓
lh_corp_goldtb_agg_sales_daily | tb_agg_sales_monthly | tb_kpi_sales_* | vw_sales_powerbi
↓
Dúvidas, Sugestões ou Problemas?
Entre em contato com o Time de Transformação Digital (TD) ou o Comitê de Dados.