Dentro de um asset bundle

Introdução ao Databricks Lakehouse

Gang Wang

Senior Data Scientist

Estrutura do projeto do bundle

$$

my_project/
|-- databricks.yml
|-- src/
|   |-- etl_pipeline.py
|   |-- data_quality.py
|-- resources/
|   |-- jobs/
|   |   |-- nightly_etl.yml
|   |-- pipelines/
|       |-- sales_pipeline.yml
|-- tests/
    |-- test_etl.py

$$

  • databricks.yml - arquivo de config central
  • src/ - seus notebooks e código
  • resources/ - definições de jobs e pipelines
  • tests/ - arquivos de teste opcionais
Introdução ao Databricks Lakehouse

O arquivo databricks.yml

bundle:
  name: sales_analytics

workspace:
  host: https://myworkspace.databricks.com

targets:
  dev:
    default: true
    workspace:
      root_path: /Users/me/dev
  production:
    workspace:
      root_path: /Shared/production
    permissions:
      - level: CAN_MANAGE
        group_name: data_engineers
Introdução ao Databricks Lakehouse

Definindo resources

$$

camadas: databricks.yml (topo), Resources - Jobs - Pipelines - Dashboards, Code - Notebooks - Python scripts, Targets - dev - staging - production

$$

resources:
  jobs:
    nightly_etl:
      name: "Nightly ETL Pipeline"
      schedule:
        quartz_cron: "0 0 2 * * ?"
      tasks:
        - task_key: ingest
          notebook_task:
            notebook_path: src/etl.py
Introdução ao Databricks Lakehouse

Comandos da CLI do bundle

$$

Command Purpose
bundle validate Verificar erros na config
bundle deploy Fazer deploy em um target
bundle run Disparar um job implantado
bundle destroy Remover resources implantados

$$

# Validar antes do deploy
databricks bundle validate

# Fazer deploy em produção
databricks bundle deploy \
  --target production

# Disparar uma execução
databricks bundle run nightly_etl
Introdução ao Databricks Lakehouse

Fluxo de implantação

fluxograma: Fluxo de implantação

$$

  • Desenvolvimento local - edite o código e valide configs
  • Controle de versão - faça commit no Git
  • Automação CI/CD - faça deploy em staging e rode testes
  • Promoção para produção - faça deploy com confiança
Introdução ao Databricks Lakehouse

Resumo

$$

  • databricks.yml define seu projeto, targets e resources
  • Resources incluem jobs, pipelines e dashboards
  • Targets mapeiam para ambientes (dev, staging, production)
  • Comandos da CLI: validate, deploy, run, destroy
Introdução ao Databricks Lakehouse

Vamos praticar!

Introdução ao Databricks Lakehouse

Preparing Video For Download...