Разработка задания с помощью декларативных пакетов автоматизации

Декларативные пакеты автоматизации (ранее известные как пакеты ресурсов Databricks), содержат артефакты для развертывания и настройки ресурсов Azure Databricks, таких как задания, которые требуется запустить, и позволяют выполнять программную проверку, развертывание и запуск этих заданий. См. что такое декларативные пакеты автоматизации.

На этой странице описывается создание пакета для программного управления заданием. Смотрите Задания Lakeflow. Пакет создается с помощью шаблона пакета декларативной автоматизации по умолчанию для Python, который состоит из ноутбука и определения задачи для его выполнения. Затем вы проверяете, развертываете и запускаете развернутую задачу в рабочей области Azure Databricks.

Совет

Если у вас есть существующие задания, созданные с помощью пользовательского интерфейса или API Заданий Lakeflow, которые необходимо переместить в пакеты, необходимо определить их в файлах конфигурации пакета. Databricks рекомендует сначала создать пакет, выполнив приведенные ниже действия, а затем проверить, работает ли пакет. Затем в пакет можно добавить дополнительные определения заданий, записные книжки и другие источники. См. статью "Получение существующего определения задания с помощью пользовательского интерфейса".

Если вы хотите создать пакет с нуля, см . статью "Создание пакета вручную".

Требования

  • Databricks CLI версии 0.218.0 или более поздней. Чтобы проверить установленную версию интерфейса командной строки Databricks, выполните команду databricks -v. Сведения об установке интерфейса командной строки Databricks см. в разделе Установка или обновление интерфейса командной строки Databricks.
  • Uv требуется для выполнения тестов и установки зависимостей для этого проекта из интегрированной среды разработки.
  • Удаленная рабочая область Databricks должна иметь включенные файлы рабочей области. См. раздел " Что такое файлы рабочей области?".
  • Существующий каталог. Сведения о создании каталога см. в разделе "Создание каталогов".

Шаг 1. Настройка проверки подлинности

Сначала настройте проверку подлинности между Интерфейсом командной строки Databricks на компьютере разработки и рабочей областью Azure Databricks. На этой странице предполагается, что вы хотите использовать аутентификацию OAuth пользователь-к-машине (U2M) и соответствующий профиль конфигурации Azure Databricks с именем DEFAULT для аутентификации.

Примечание.

Проверка подлинности U2M подходит для выполнения этих действий в режиме реального времени. Для полностью автоматизированных рабочих процессов Databricks рекомендует вместо этого использовать аутентификацию OAuth машина-машина (M2M). Инструкции по настройке проверки подлинности M2M см. в статье "Авторизация доступа субъекта-службы к Azure Databricks с помощью OAuth".

  1. Используйте Databricks CLI для локального инициирования управления токенами OAuth, выполнив следующую команду для каждой целевой рабочей области.

    В следующей команде замените на URL-адрес рабочей области Azure Databricks , например, .

    databricks auth login --host <workspace-url>
    
  2. Интерфейс командной строки Databricks предлагает сохранить сведения, введенные в качестве профиля конфигурации Azure Databricks. Нажмите, Enter чтобы принять предлагаемое имя профиля, или введите имя нового или существующего профиля. Любой существующий профиль с тем же именем перезаписывается с введенными сведениями. Профили можно использовать для быстрого переключения контекста проверки подлинности в нескольких рабочих областях.

    Чтобы получить список существующих профилей в отдельном терминале или командной строке, используйте интерфейс командной строки Databricks для выполнения команды databricks auth profiles. Чтобы просмотреть существующие параметры конкретного профиля, выполните команду databricks auth env --profile <profile-name>.

  3. В веб-браузере выполните инструкции на экране, чтобы войти в рабочую область Azure Databricks.

  4. Чтобы просмотреть текущее значение маркера OAuth профиля и метку времени окончания срока действия маркера, выполните одну из следующих команд:

    • databricks auth token --host <workspace-url>
    • databricks auth token -p <profile-name>
    • databricks auth token --host <workspace-url> -p <profile-name>

    Если у вас есть несколько профилей с одинаковым значением для --host, может потребоваться указать параметры --host и -p вместе, чтобы помочь Databricks CLI найти правильную информацию о маркере OAuth.

Шаг 2. Инициализация пакета

Инициализация пакета с помощью шаблона проекта пакета Python по умолчанию.

  1. Используйте терминал или командную строку, чтобы переключиться в каталог на локальном компьютере разработки, который будет содержать созданный пакет шаблона.

  2. Используйте командную строку интерфейса Databricks для выполнения команды bundle init.

    databricks bundle init
    
  3. Для Template to use оставьте значение default-python по умолчанию, нажав клавишу Enter.

  4. Для Unique name for this project оставьте значение my_project по умолчанию или введите другое значение, а затем нажмите Enter. Это определяет имя корневого каталога для этого пакета. Этот корневой каталог создается в текущем рабочем каталоге.

  5. Для Include a job that runs a notebookвыберите yes и нажмите клавишу Enter.

  6. Для Include an ETL pipelineвыберите no и нажмите клавишу Enter.

  7. Для Include a stub (sample) Python packageвыберите no и нажмите клавишу Enter.

  8. Для Use serverlessвыберите yes и нажмите клавишу Enter. В этом случае интерфейс командной строки Databricks позволяет настроить пакет для выполнения без сервера вычислений.

  9. Введите Default catalog for any tables created by this project [hive_metastore] имя существующего каталога Unity.

  10. Для Use a personal schema for each user working on this project., выберите yes.

Шаг 3. Изучение пакета

Чтобы просмотреть файлы, созданные шаблоном, переключитесь в корневой каталог созданного пакета. К файлам, интересующим особый интерес, относятся следующие:

  • databricks.yml: этот файл указывает программное имя пакета, содержит ссылки на файлы пакета, определяет переменные каталога и схемы и задает параметры для целевых рабочих областей.
  • resources/sample_job.job.yml: этот файл задает параметры задания, включая задачу записной книжки по умолчанию. Сведения о параметрах задания см. в разделе "Задание".
  • src/: эта папка содержит исходные файлы задания.
  • src/sample_notebook.ipynb: этот блокнот считывает образец таблицы.
  • tests/: эта папка содержит примеры модульных тестов.
  • README.md: этот файл содержит дополнительные сведения о начале работы и использовании этого шаблона пакета.

Совет

Вы можете определить, объединить и переопределить параметры для новых кластеров заданий в пакетах с помощью методов, описанных в переопределении с целевыми параметрами.

Шаг 4. Проверка конфигурации пакета

Теперь проверьте, допустима ли конфигурация пакета.

  1. В корневом каталоге, с помощью Databricks CLI, выполните команду bundle validate.

    databricks bundle validate
    
  2. Если возвращается сводка конфигурации пакета, проверка выполнена успешно. Если возвращаются какие-либо ошибки, исправьте ошибки и повторите этот шаг.

Шаг 5. Развертывание пакета в удаленной рабочей области

Затем разверните задание в удаленной рабочей области Azure Databricks и проверьте задание в рабочей области.

  1. В корневом каталоге пакета выполните команду с помощью командной строки Databricks: bundle deploy

    databricks bundle deploy --target dev
    
  2. Убедитесь, что блокнот развернут:

    1. На боковой панели рабочей области Azure Databricks щелкните "Рабочая область".
    2. Перейдите в папку Users ><your-username>> .bundle ><project-name>>dev > files > src. Записная книжка должна находиться в этой папке.
  3. Проверьте, было ли задание создано.

    1. На боковой панели рабочей области Azure Databricks щелкните "Задания и конвейеры".
    2. При необходимости выберите фильтры "Задания " и " Принадлежащие мне ".
    3. Щелкните [dev <your-username>] sample_job.
    4. Перейдите на вкладку Задачи. Должна быть одна notebook_task.

При внесении изменений в пакет после этого шага необходимо повторить шаги 4–5, чтобы проверить, действительна ли конфигурация пакета, а затем повторно разверните проект.

Шаг 6. Запуск развернутой задачи

Теперь активируйте выполнение задания в рабочей области из командной строки.

  1. В корневом каталоге, с помощью Databricks CLI, выполните команду bundle run.

    databricks bundle run --target dev sample_job
    
  2. Скопируйте значение, которое отображается в терминале и вставьте это значение Run URL в веб-браузер, чтобы открыть рабочую область Azure Databricks. Просмотр и запуск задания, созданного с помощью декларативных пакетов автоматизации

  3. В рабочей области Azure Databricks после успешного завершения задания и появления зеленой панели заголовка щелкните на задание, чтобы просмотреть результаты.

При внесении изменений в пакет после этого шага необходимо повторить шаги 4-6, чтобы проверить, действительна ли конфигурация пакета, повторно разверните проект и запустите повторно развернутый проект.

Шаг 7. Выполнение тестов

Наконец, используйте pytest для локального выполнения тестов:

uv run pytest

Шаг 8. Очистка

На этом этапе вы удалите развернутый ноутбук и задание из рабочей области.

  1. В корневом каталоге, с помощью Databricks CLI, выполните команду bundle destroy.

    databricks bundle destroy --target dev
    
  2. При появлении запроса на постоянное сохранение всех файлов и каталогов рабочей области введите y и нажмите клавишу Enter.

  3. Если вы также хотите удалить пакет с компьютера разработки, теперь можно удалить локальный каталог проекта.