Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
На этой странице описывается, как отказаться от предварительно установленных библиотек Python в горизонтально масштабируемом приложении Databricks, управлять собственными зависимостями и включать предварительно установленные библиотеки позже. Отказ доступен только для горизонтально масштабируемых приложений, преобразованных из стандартного приложения. См. статью "Преобразование стандартного приложения для использования горизонтального масштабирования". Горизонтальное масштабирование находится в бета-версии.
Когда вы преобразуете стандартное приложение в горизонтально масштабируемое, Azure Databricks привязывает преобразованное приложение к предустановленным библиотекам Python, поэтому существующие операторы import в приложении продолжают работать. Откажитесь от этого варианта, чтобы запускать приложение на чистом базовом образе ОС и явно указывать все библиотеки самостоятельно.
Отказ от предварительно установленных библиотек
Отказ от этого указывает Azure Databricks выполнить следующее развертывание с использованием чистого базового образа ОС.
Предварительно установленные библиотеки больше не доступны, если вы не объявляете их в requirements.txt илиpyproject.toml.
Чтобы отказаться, выполните приведенные далее действия.
- На странице сведений о приложении нажмите кнопку "Изменить".
- На шаге Configure снимите флажок Использовать предустановленные библиотеки Python.
- Нажмите кнопку Сохранить. Текущее развертывание не затронуто.
- Снова разверните приложение на вкладке "Развертывания". Это новое развертывание строится на основе чистого базового образа ОС.
Рекомендуемый рабочий процесс
Ваши зависимости могут транзитивно включать предустановленные библиотеки, поэтому не всегда ясно, какие библиотеки требуются вашему приложению напрямую. Найдите отсутствующие библиотеки в тестовом приложении, прежде чем отключать их в рабочей среде:
- Создайте новое горизонтально масштабируемое приложение. Новые приложения с горизонтальным масштабированием уже работают на чистом базовом образе операционной системы, поэтому это соответствует вашему целевому состоянию после отказа от участия.
- Разверните источник рабочего приложения в тестовом приложении. Обновляйте
requirements.txt(илиpyproject.toml) и повторно развертывайте, пока тестовое приложение не запустится, не начнет обрабатывать запросы и не пройдет ваши тесты. - Скопируйте окончательные объявления зависимостей в источник рабочего приложения.
- В рабочем приложении выполните действия, описанные в разделе "Отказ от предварительно установленных библиотек " и развертывание обновленного источника.
Рабочая среда продолжает работать на образе с предварительно установленными библиотеками, пока новое развертывание не пройдет проверку работоспособности, поэтому этот подход позволяет избежать простоя при выявлении отсутствующих зависимостей в тестовом приложении.
Устранение ошибок после отказа
Самый распространённый сбой после отключения — ModuleNotFoundError при запуске приложения, вызванный фреймворком или библиотекой, которые ваш код неявно импортировал из предустановленного набора. Чтобы устранить ошибку, выполните указанные ниже действия.
- Откройте вкладку "Журналы" на странице сведений о приложении.
- Найдите имя отсутствующего модуля в журналах сборки или выполнения.
- Добавьте соответствующий пакет в
requirements.txt(илиpyproject.toml) и повторно выполните развертывание.
Новое развертывание заменяет только запущенное развертывание, если процесс приложения остается запущенным в течение первых нескольких секунд после запуска. Развертывание, которое сразу аварийно завершается из-за отсутствующего импорта, не становится активным, и трафик продолжает направляться на предыдущее работающее развертывание, пока вы исправляете список зависимостей. Проверка при запуске является поверхностной, поэтому, если вы от неё отказались, убедитесь, что ваше приложение действительно обрабатывает запросы, а не полагайтесь на эту проверку для выявления неисправных развертываний.
Снова включить предустановленные библиотеки
Чтобы вернуться к предустановленным библиотекам после отключения:
- На странице сведений о приложении нажмите кнопку "Изменить".
- На шаге Configure установите флажок Использовать предустановленные библиотеки Python.
- Нажмите кнопку Сохранить.
- Снова разверните приложение на вкладке "Развертывания". Это новое развертывание строится на базовом образе с предварительно установленными библиотеками.
Ваши requirements.txt и pyproject.toml по-прежнему действуют, поэтому все явные объявления, которые вы добавили в период отказа, сохраняются.
Note
Преобразование горизонтально масштабируемого приложения в стандартное приложение также восстанавливает предварительно установленные библиотеки: стандартное приложение перестроено с ними независимо от того, отказались ли вы. Если вы позже преобразуете приложение в горизонтальное масштабирование еще раз, он включает предварительно установленные библиотеки, пока вы не откажетесь.