Поделиться через


Что такое пакеты ресурсов Databricks?

Наборы активов Databricks — это средство для упрощения внедрения рекомендаций по проектированию программного обеспечения, включая управление версиями, проверку кода, тестирование и непрерывную интеграцию и доставку (CI/CD) для ваших данных и проектов искусственного интеллекта. Пакеты позволяют описать ресурсы Databricks, такие как задания, конвейеры и записные книжки в качестве исходных файлов. Эти исходные файлы предоставляют комплексное определение проекта, включая структуру, тестирование и развертывание, что упрощает совместную работу над проектами во время активной разработки.

Пакеты предоставляют способ включения метаданных вместе с исходными файлами проекта. При развертывании проекта с помощью пакетов эти метаданные используются для подготовки инфраструктуры и других ресурсов. Затем коллекция исходных файлов и метаданных проекта развертывается в качестве одного пакета в целевой среде. Пакет включает следующие части:

  • Обязательные конфигурации облачной инфраструктуры и рабочей области
  • Исходные файлы, такие как записные книжки и файлы Python, которые включают бизнес-логику
  • Определения и параметры для ресурсов Databricks, таких как задания Azure Databricks, конвейеры Delta Live Tables, конечные точки обслуживания моделей, эксперименты MLflow и зарегистрированные модели MLflow
  • Модульные тесты и тесты интеграции

На следующей схеме представлено высокоуровневое представление конвейера разработки и CI/CD с пакетами:

Общие сведения о пакетах активов Databricks

Когда следует использовать пакеты ресурсов Databricks?

Пакеты ресурсов Databricks — это подход к управлению проектами Databricks как кода (IaC). Используйте их, если требуется управлять сложными проектами, в которых необходимы несколько участников и автоматизации, а также непрерывная интеграция и развертывание (CI/CD) являются обязательными. Так как пакеты определяются и управляются с помощью шаблонов и файлов YAML, которые создаются и поддерживаются вместе с исходным кодом, они хорошо сопоставляются с сценариями, где IaC является подходящим подходом.

Ниже приведены некоторые идеальные сценарии для пакетов:

  • Разработка проектов данных, аналитики и машинного обучения в командной среде. Пакеты помогают эффективно упорядочивать и управлять различными исходными файлами. Это обеспечивает гладкую совместную работу и упрощенные процессы.
  • Итерацию проблем машинного обучения быстрее. Управление ресурсами конвейера машинного обучения (например, задания обучения и пакетного вывода) с помощью проектов машинного обучения, которые соответствуют рабочим рекомендациям с самого начала.
  • Настройте организационные стандарты для новых проектов, создав пользовательские шаблоны пакетов, включающие разрешения по умолчанию, субъекты-службы и конфигурации CI/CD.
  • Соответствие нормативным требованиям. В отраслях, где соответствие нормативным требованиям является значительным, пакеты могут помочь поддерживать версию журнала работы кода и инфраструктуры. Это помогает в управлении и гарантирует соблюдение необходимых стандартов соответствия.

Как работают пакеты ресурсов Databricks?

Метаданные пакета определяются с помощью файлов YAML, которые указывают артефакты, ресурсы и конфигурацию проекта Databricks. Этот файл YAML можно создать вручную или создать его с помощью шаблона пакета. Затем интерфейс командной строки Databricks можно использовать для проверки, развертывания и запуска пакетов с помощью этих файлов YAML пакета. Вы можете запускать проекты пакета из удостоверений, терминалов или в Databricks напрямую. В этой статье используется интерфейс командной строки Databricks.

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

Дополнительные сведения о конфигурации YAML, используемой для выражения пакетов активов Databricks, см. в разделе Конфигурации пакета ресурсов Databricks.

Настройка среды для использования пакетов

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

databricks --version

Примечание.

Требуется интерфейс командной строки Databricks версии 0.218.0 или более поздней. Чтобы установить интерфейс командной строки Databricks, см. статью "Установка или обновление интерфейса командной строки Databricks".

После установки интерфейса командной строки Databricks убедитесь, что удаленные рабочие области Databricks настроены правильно. Для пакетов требуется включить функцию файлов рабочей области, так как эта функция поддерживает работу с файлами, отличными от записных книжек Databricks, например .py и .yml файлов. Если вы используете Databricks Runtime версии 11.2 (или более поздней), эта функция должна быть включена по умолчанию.

Проверка подлинности

Azure Databricks предоставляет несколько методов проверки подлинности. Databricks рекомендует использовать один из следующих методов для проверки подлинности:

  • Для сценариев проверки подлинности, таких как ручной рабочий процесс, в котором вы используете веб-браузер для входа в целевую рабочую область Azure Databricks (при появлении запроса интерфейса командной строки Databricks), используйте проверку подлинности OAuth для компьютера (U2M). Этот метод идеально подходит для экспериментов с руководствами по началу работы с пакетами ресурсов Databricks или для быстрого разработки пакетов.
  • Для сценариев автоматической проверки подлинности, таких как полностью автоматизированные рабочие процессы, в которых нет возможности использовать веб-браузер для входа в целевую рабочую область Azure Databricks в то время, используйте проверку подлинности OAuth на компьютере (M2M). Этот метод требует использования субъектов-служб Azure Databricks и идеально подходит для использования пакетов ресурсов Databricks с системами CI/CD, такими как GitHub.

Для проверки подлинности OAuth U2M выполните следующие действия.

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

    В следующей команде замените <workspace-url> URL-адрес Azure Databricks для каждой рабочей области, напримерhttps://adb-1234567890123456.7.azuredatabricks.net.

    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 одинаковым значением, может потребоваться указать и -p параметры --host вместе, чтобы помочь Databricks CLI найти правильные соответствующие сведения о маркере OAuth.

Имя этого профиля конфигурации можно использовать одним или несколькими способами при проверке, развертывании, запуске или уничтожении пакетов:

  • С параметром -p <profile-name>командной строки, добавленным к командамdatabricks bundle validate, databricks bundle deploydatabricks bundle runилиdatabricks bundle destroy. См. статью о разработке пакетов активов Databricks.
  • В качестве значения profile сопоставления в сопоставлении верхнего уровня workspace файла конфигурации пакета (хотя Databricks рекомендует использовать host набор сопоставлений с URL-адресом рабочей области Azure Databricks вместо profile сопоставления, так как он делает файлы конфигурации пакета более переносимыми). См. сведения о сопоставлении profile в рабочей области.
  • Если имя профиля конфигурации равноDEFAULT, оно используется по умолчанию, если параметр командной строки -p <profile-name> или profile сопоставление (илиhost) не указано.

Для проверки подлинности OAuth M2M выполните следующие действия.

  1. Выполните инструкции по настройке проверки подлинности OAuth M2M. См. статью "Использование субъекта-службы для проверки подлинности с помощью Azure Databricks(OAuth M2M)".

  2. Установите интерфейс командной строки Databricks в целевом вычислительном ресурсе одним из следующих способов:

  3. Задайте следующие переменные среды для вычислительного ресурса следующим образом:

    Чтобы задать эти переменные среды, ознакомьтесь с документацией по операционной системе целевого вычислительного ресурса или системе CI/CD.

Разработка первого пакета ресурсов Databricks

Самый быстрый способ начать разработку пакетов — использовать шаблон. Создайте проект первого пакета с помощью команды CLI bundle init Databricks без каких-либо параметров. Это представляет собой выбор шаблонов пакетов по умолчанию, предоставляемых Databricks, и задает ряд вопросов для инициализации переменных проекта.

databricks bundle init

Организации также могут создавать пользовательские шаблоны пакетов для определения собственных стандартов. Эти стандарты могут включать разрешения по умолчанию, субъекты-службы и настраиваемую конфигурацию CI/CD. См . шаблоны пакета активов Databricks.

После инициализации проекта используйте bundle validate команду для проверки пакета перед развертыванием в рабочих областях.

databricks bundle validate

Обычно вы создаете пакет на локальном компьютере разработки с помощью интегрированной среды разработки и интерфейса командной строки Databricks версии 0.218.0 или более поздней. Эти средства позволяют создавать, проверять, развертывать и запускать пакет. См. статью о разработке пакетов активов Databricks.

Пакет можно изменить в рабочей области Azure Databricks после добавления пакета в Git с помощью интеграции с папкой Databricks Git. Однако вы не можете протестировать или развернуть пакет из рабочей области. Вместо этого можно использовать локальную интегрированную среду разработки для тестирования и CI/CD для развертывания.

Следующие шаги

Стандартные задачи

Используйте следующие статьи для выполнения распространенных задач для пакетов ресурсов Databricks.

Статья Используйте эту статью, когда вы хотите...
Разработка пакетов активов Databricks Сведения о создании, проверке, развертывании и запуске пакета путем создания databricks.yml файла и использования интерфейса командной строки Databricks для выполнения команд databricks bundle validatedatabricks bundle deployи тdatabricks bundle run. е.
Конфигурации пакета активов Databricks Создайте файл пакета и другие связанные файлы конфигурации пакета databricks.yml , соответствующие синтаксису YAML для конфигураций пакета.
Проверка подлинности для пакетов активов Databricks Настройте проект пакета для проверки подлинности Azure Databricks.
Разработка задания в Azure Databricks с помощью пакетов ресурсов Databricks Создание, развертывание и запуск пакета для задания Azure Databricks.
Разработка конвейеров разностных динамических таблиц с помощью пакетов ресурсов Databricks Создание, развертывание и запуск пакета для конвейера Delta Live Tables.
Пакеты ресурсов Databricks для стеков MLOps Создание, развертывание и запуск пакета для стека MLOps.
Зависимости библиотеки пакетов ресурсов Databricks Установите библиотеки, которые пакет должен выполняться в любых связанных кластерах Azure Databricks.
Режимы развертывания пакета ресурсов Databricks Используйте режимы развертывания пакета, такие как и production автоматическое включение или отключение распространенных действий развертывания, таких как development приостановка или отмена связанных расписаний и триггеров.
Шаблоны пакетов активов Databricks Используйте шаблон, чтобы сделать создание определенных типов пакетов быстрее, проще и с более согласованными и повторяемыми результатами.
Настройка разрешений для ресурсов в пакетах ресурсов Databricks Применение подробных уровней разрешений доступа к пользователям, группам и субъектам-службам для определенных ресурсов пакета.
Динамическое определение параметров артефакта в пакетах ресурсов Databricks Объединение или переопределение определенных параметров для артефактов в пакете.
Запуск рабочего процесса CI/CD с помощью пакета ресурсов Databricks и GitHub Actions Разверните или запустите пакет в ответ на определенное событие рабочего процесса GitHub, например запрос на вытягивание или слияние.
Переопределение параметров кластера в пакетах ресурсов Databricks Объединение или переопределение определенных параметров для кластеров в пакете.
Добавление задач в задания в пакетах ресурсов Databricks Добавьте задачу в задание в пакете.
Переопределение параметров задач задания в пакетах ресурсов Databricks Объединение или переопределение определенных параметров для задач задания в пакете.
Разработка файла колес Python с помощью пакетов ресурсов Databricks Создание, развертывание и вызов файлов колес Python в пакете.

Дополнительные ресурсы