Dentro un asset bundle

Introduzione a Databricks Lakehouse

Gang Wang

Senior Data Scientist

Struttura del progetto 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 - file di config principale
  • src/ - notebook e codice
  • resources/ - definizioni di job e pipeline
  • tests/ - file di test opzionali
Introduzione a Databricks Lakehouse

Il file 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
Introduzione a Databricks Lakehouse

Definire le risorse

$$

livelli: databricks.yml (in alto), Risorse - Job - Pipeline - Dashboard, Codice - Notebook - Script Python, Target - 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
Introduzione a Databricks Lakehouse

Comandi CLI del bundle

$$

Command Scopo
bundle validate Controlla la config per errori
bundle deploy Esegue il deploy su un target
bundle run Avvia un job distribuito
bundle destroy Rimuove le risorse distribuite

$$

# Valida prima del deploy
databricks bundle validate

# Deploy in produzione
databricks bundle deploy \
  --target production

# Avvia un run
databricks bundle run nightly_etl
Introduzione a Databricks Lakehouse

Workflow di deploy

diagramma di flusso: Workflow di deploy

$$

  • Sviluppo locale - modifica il codice e valida le config
  • Controllo versione - fai commit su Git
  • Automazione CI/CD - deploy su staging e test
  • Promozione in produzione - deploy con sicurezza
Introduzione a Databricks Lakehouse

Riepilogo

$$

  • databricks.yml definisce progetto, target e risorse
  • Le risorse includono job, pipeline e dashboard
  • I target corrispondono ad ambienti (dev, staging, production)
  • Comandi CLI: validate, deploy, run, destroy
Introduzione a Databricks Lakehouse

Esercitiamoci!

Introduzione a Databricks Lakehouse

Preparing Video For Download...