Zawartość pakietu bundle

Wprowadzenie do Databricks Lakehouse

Gang Wang

Senior Data Scientist

Struktura projektu 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 - główny plik konfiguracyjny
  • src/ - notebooki i kod
  • resources/ - definicje zadań i potoków
  • tests/ - opcjonalne pliki testowe
Wprowadzenie do Databricks Lakehouse

Plik 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
Wprowadzenie do Databricks Lakehouse

Definiowanie zasobów

$$

warstwy: databricks.yml (na górze), Resources — Jobs — Pipelines — Dashboards, Code — Notebooks — skrypty Python, 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
Wprowadzenie do Databricks Lakehouse

Polecenia CLI dla bundle

$$

Polecenie Cel
bundle validate Sprawdź konfigurację pod kątem błędów
bundle deploy Wdróż do docelowego środowiska
bundle run Uruchom wdrożone zadanie
bundle destroy Usuń wdrożone zasoby

$$

# Weryfikacja przed wdrożeniem
databricks bundle validate

# Wdrożenie na produkcję
databricks bundle deploy \
  --target production

# Uruchomienie zadania
databricks bundle run nightly_etl
Wprowadzenie do Databricks Lakehouse

Przepływ wdrożenia

schemat blokowy: przepływ wdrożenia

$$

  • Lokalne tworzenie — edycja kodu i weryfikacja konfiguracji
  • Kontrola wersji — zatwierdzanie zmian w Git
  • Automatyzacja CI/CD — wdrożenie na staging i uruchomienie testów
  • Promocja na produkcję — pewne wdrożenie
Wprowadzenie do Databricks Lakehouse

Podsumowanie

$$

  • databricks.yml definiuje projekt, środowiska docelowe i zasoby
  • Zasoby obejmują zadania, potoki i dashboardy
  • Środowiska docelowe odpowiadają środowiskom (dev, staging, production)
  • Polecenia CLI: validate, deploy, run, destroy
Wprowadzenie do Databricks Lakehouse

Czas na praktykę!

Wprowadzenie do Databricks Lakehouse

Preparing Video For Download...