Структура пакета ресурсов

Введение в Databricks Lakehouse

Gang Wang

Senior Data Scientist

Структура проекта пакета

$$

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центральный файл конфигурации
  • src/ноутбуки и код
  • resources/определения заданий и пайплайнов
  • tests/ — необязательные тестовые файлы
Введение в Databricks Lakehouse

Файл 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
Введение в Databricks Lakehouse

Определение ресурсов

$$

слои: databricks.yml (верхний), 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

Команды CLI для пакетов

$$

Команда Назначение
bundle validate Проверить конфигурацию на ошибки
bundle deploy Развернуть в целевой среде
bundle run Запустить развёрнутое задание
bundle destroy Удалить развёрнутые ресурсы

$$

# Validate before deploying
databricks bundle validate

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

# Trigger a run
databricks bundle run nightly_etl
Введение в Databricks Lakehouse

Рабочий процесс развёртывания

блок-схема: рабочий процесс развёртывания

$$

  • Локальная разработка — редактирование кода и проверка конфигураций
  • Контроль версий — фиксация изменений в Git
  • Автоматизация CI/CD — развёртывание в staging и запуск тестов
  • Перевод в продуктив — уверенное развёртывание
Введение в Databricks Lakehouse

Итоги

$$

  • databricks.yml определяет проект, целевые среды и ресурсы
  • Ресурсы включают задания, пайплайны и дашборды
  • Целевые среды соответствуют окружениям (dev, staging, production)
  • Команды CLI: validate, deploy, run, destroy
Введение в Databricks Lakehouse

Давайте потренируемся!

Введение в Databricks Lakehouse

Preparing Video For Download...