Structura unui asset bundle

Introducere în Databricks Lakehouse

Gang Wang

Senior Data Scientist

Structura proiectului 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 - fișierul de configurare central
  • src/ - notebook-urile și codul tău
  • resources/ - definițiile joburilor și pipeline-urilor
  • tests/ - fișiere de test opționale
Introducere în Databricks Lakehouse

Fișierul 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
Introducere în Databricks Lakehouse

Definirea resurselor

$$

straturi: databricks.yml (sus), 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
Introducere în Databricks Lakehouse

Comenzi CLI pentru bundle

$$

Comandă Scop
bundle validate Verifică erorile din configurare
bundle deploy Deployează către o țintă
bundle run Declanșează un job deployat
bundle destroy Elimină resursele deployate

$$

# Validate before deploying
databricks bundle validate

# Deploy to production
databricks bundle deploy \
  --target production

# Trigger a run
databricks bundle run nightly_etl
Introducere în Databricks Lakehouse

Fluxul de deployment

diagramă flux: Fluxul de deployment

$$

  • Dezvoltare locală - editează codul și validează configurările
  • Control versiuni - salvează modificările în Git
  • Automatizare CI/CD - deployează în staging și rulează teste
  • Promovare în producție - deployează cu încredere
Introducere în Databricks Lakehouse

Rezumat

$$

  • databricks.yml definește proiectul, țintele și resursele
  • Resursele includ joburi, pipeline-uri și dashboard-uri
  • Țintele corespund mediilor (dev, staging, production)
  • Comenzi CLI: validate, deploy, run, destroy
Introducere în Databricks Lakehouse

Hai să exersăm!

Introducere în Databricks Lakehouse

Preparing Video For Download...