Skip to content

mcunhash/databricks-labs-mcunhash

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

Databricks Labs — Free Edition

SQL • Delta Lake • Bronze/Silver/Gold • Versionado com GitHub Repos

Workspace: Databricks Free Edition (sem cluster manual, compute inicia ao executar células)

Objetivo

  • Praticar Databricks (Free Edition) com foco em Spark SQL e Delta Lake.
  • Construir notebooks curtos e reprodutíveis (1h, 4x por semana).
  • Versionar tudo via GitHub (Databricks Repos).

Pré‑requisitos

  1. Conta no GitHub e um repositório vazio (ex.: databricks-labs-mcunhash).
  2. Personal Access Token no GitHub (PAT) com escopo repo.
  3. Conta no Databricks Free Edition e acesso ao Workspace.

Conectar Databricks ↔ GitHub (Repos)

  1. No Databricks: User Settings > Git integration → Provider: GitHub → cole o seu PAT → Save.
  2. Sidebar: Repos > Add Repo > Clone remote Git repo → URL HTTPS do seu repo (ex.: https://github.com/mcunhash/databricks-labs-mcunhash.git) → Branch main → Create.
  3. Crie pastas dentro de /Repos/<seu-usuário>/databricks-labs-mcunhash:
    notebooks/
    00_setup
    01_sql_basics
    02_delta_basics
    03_bronze_silver_gold
    04_perf_e_bi
    README.md

Setup inicial (Notebook: notebooks/00_setup)

Execute as células SQL abaixo para criar e usar um database de trabalho.

%sql
CREATE DATABASE IF NOT EXISTS mc_labs;
USE mc_labs;

Teste fontes de dados (use a que estiver disponível no seu Free):

%sql
-- Opção A: catálogo de samples (se disponível)
SELECT * FROM samples.nyctaxi.trips LIMIT 10;

-- Opção B: arquivos de datasets (se expostos no seu workspace) -- SELECT * FROM csv.dbfs:/databricks-datasets/nyctaxi/tripdata/yellow_tripdata_2019-01.csv LIMIT 10;

Semana 1 — SQL básico (Notebook: 01_sql_basics)

Crie uma tabela Delta gerenciada a partir de CSV (ajuste o caminho disponível):

%sql
CREATE OR REPLACE TABLE trips_raw USING delta AS
SELECT * FROM csv.`dbfs:/databricks-datasets/nyctaxi/tripdata/yellow_tripdata_2019-01.csv`;

Consultas de prática:

%sql
-- Agregações
SELECT passenger_count, COUNT(*) trips
FROM trips_raw
GROUP BY passenger_count
ORDER BY trips DESC;

-- CTE + deduplicação WITH ranked AS ( SELECT *, ROW_NUMBER() OVER (PARTITION BY vendor_id, tpep_pickup_datetime ORDER BY tpep_dropoff_datetime DESC) rn FROM trips_raw ) SELECT * FROM ranked WHERE rn = 1;

Semana 2 — Delta Lake (Notebook: 02_delta_basics)

%sql
-- Histórico e propriedades
DESCRIBE HISTORY trips_raw;

-- Simular upsert com MERGE (lote 2 fictício) CREATE OR REPLACE TABLE trips_bronze AS SELECT * FROM trips_raw; CREATE OR REPLACE TEMP VIEW trips_lote2 AS SELECT *, total_amount + 1 AS total_amount FROM trips_raw LIMIT 1000;

MERGE INTO trips_bronze t USING trips_lote2 s ON t.vendor_id = s.vendor_id AND t.tpep_pickup_datetime = s.tpep_pickup_datetime WHEN MATCHED THEN UPDATE SET * WHEN NOT MATCHED THEN INSERT *;

-- Time travel SELECT COUNT(*) FROM trips_bronze VERSION AS OF 0;

Commits (Git) pelo Databricks

  1. Abrir o notebook alterado → botão Git (topo) → selecione mudanças → mensagem → Commit & Push.
  2. Para trazer mudanças do GitHub: Pull.

Limitações do Free Edition

  • Sem criação de cluster manual; use o compute que inicia automaticamente ao rodar células.
  • Recursos como SQL Warehouses, Workflows/Jobs completos e Unity Catalog avançado podem não estar disponíveis.

Boas práticas

  • Exporte seus notebooks periodicamente: File > Export > Source.
  • Commits pequenos e frequentes, com mensagens claras.
  • Não coloque dados sensíveis no repositório.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published