Bir varlık paketinin içi

Databricks Lakehouse'a Giriş

Gang Wang

Senior Data Scientist

Paket proje yapısı

$$

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 - merkezi yapılandırma dosyası
  • src/ - notebook'ların ve kodun
  • resources/ - job ve pipeline tanımları
  • tests/ - isteğe bağlı test dosyaları
Databricks Lakehouse'a Giriş

databricks.yml dosyası

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
Databricks Lakehouse'a Giriş

Kaynakları tanımlama

$$

katmanlar: databricks.yml (üst), 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
Databricks Lakehouse'a Giriş

Bundle CLI komutları

$$

Komut Amaç
bundle validate Yapılandırmayı hatalara karşı kontrol et
bundle deploy Bir hedefe dağıt
bundle run Dağıtılmış bir job'ı tetikle
bundle destroy Dağıtılmış kaynakları kaldır

$$

# Dağıtmadan önce doğrula
databricks bundle validate

# Production'a dağıt
databricks bundle deploy \
  --target production

# Bir çalıştırma tetikle
databricks bundle run nightly_etl
Databricks Lakehouse'a Giriş

Dağıtım iş akışı

akış şeması: Dağıtım iş akışı

$$

  • Yerel geliştirme - kodu düzenle ve yapılandırmaları doğrula
  • Sürüm kontrolü - değişiklikleri Git'e işle
  • CI/CD otomasyonu - staging'e dağıt ve testleri çalıştır
  • Production'a yükseltme - güvenle dağıt
Databricks Lakehouse'a Giriş

Özet

$$

  • databricks.yml projen, hedefler ve kaynakları tanımlar
  • Kaynaklar job'lar, pipeline'lar ve panoları içerir
  • Hedefler ortamlarla eşleşir (dev, staging, production)
  • CLI komutları: validate, deploy, run, destroy
Databricks Lakehouse'a Giriş

Hadi pratik yapalım!

Databricks Lakehouse'a Giriş

Preparing Video For Download...